首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MVVM时如何设置XamDataGrid的FieldLayout?

使用MVVM时如何设置XamDataGrid的FieldLayout?
EN

Stack Overflow用户
提问于 2013-05-07 06:42:21
回答 1查看 2.5K关注 0票数 0

我正在处理一个WPF应用程序,我需要在ViewModel上设置XamDataGrid的FieldLayout属性。一旦我做到了这一点,我将能够在XamDataGrid上显示绑定的数据。

棘手的部分是,我需要以编程方式设置FieldLayout,因此不允许我这样做:

代码语言:javascript
复制
   <Grid>
    <igWPF:XamDataGrid DataSource="{Binding Path=StaffMembers}"
                       FieldLayoutInitialized="xamDataGrid_FieldLayoutInitialized">
        <igWPF:XamDataGrid.FieldLayoutSettings>
            <igWPF:FieldLayoutSettings AutoGenerateFields="False"/>
        <igWPF:XamDataGrid.FieldLayoutSettings>
        <igWPF:XamDataGrid.FieldLayouts>
            <igWPF:FieldLayout>
                <igWPF:Field Name="Name"/>
                <igWPF:Field Name="Department"/>
            <igWPF:FieldLayout>
        <igWPF:XamDataGrid.FieldLayouts>
    <igWPF:XamDataGrid>
</Grid>

所以我的问题是:是否可以在ViewModel中设置FieldLayout属性?多么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 00:57:56

为什么要在ViewModel中设置FieldLayout?FieldLayout是特定于XamDataGrid的,并且是ViewModel不应该知道的视图的一部分。如果您想在以后将View更改为不同的网格,或者只是显示相同数据的不同视图,这就变得很重要。

如果您只是想从视图模型中设置网格中的哪些字段可用,那么您应该能够在具有此信息的ViewModel上公开一个属性,然后在view中仅将这些字段添加到XamDataGrid。

最简单的方法是在视图后面的代码中添加必要的代码,以便将字段添加到字段布局中。一种更复杂的方法是使用XamDataGrid的行为或附加属性,以允许您绑定要显示的字段列表。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16408475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档