首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVVM光DataGrid绑定

MVVM光DataGrid绑定
EN

Stack Overflow用户
提问于 2015-05-25 09:05:41
回答 1查看 1.9K关注 0票数 3

我正在用C#、.NET Framework4.5.1、MVVM框架和实体框架6.1.3开发一个WPF。

我把这个DataGrid放在一个窗口里:

代码语言:javascript
复制
<DataGrid x:Name="LevelConfigurationDataGrid" Grid.Column="1" Grid.Row="1" Margin="20,0" ItemsSource="{Binding LevelConfigs}">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding CODE_LEVE}" Header="Nivel"/>
        <DataGridTextColumn Binding="{Binding CODE_NAME}" Header="Nombre"/>
        <DataGridTextColumn Binding="{Binding IS_ACTIVE}" Header="¿Activa?"/>
        <DataGridTextColumn Binding="{Binding CODE_TYPE}" Header="Tipo de código"/>
        <DataGridTextColumn Binding="{Binding CODE_SOURCE}" Header="Origen del código"/>
        <DataGridTextColumn Binding="{Binding HELPER_CODE_TYPE}" Header="Tipo de Helper Code"/>
        <DataGridTextColumn Binding="{Binding HELPER_CODE_SOURCE}" Header="Origen del helper code"/>
        <DataGridTextColumn Binding="{Binding QUANTITY}" Header="Cantidad"/>
        <DataGridTextColumn Binding="{Binding REMAINING_CODES}" Header="Restantes"/>
        <DataGridTextColumn Binding="{Binding TRZ_ENDPOINT}" Header="TRZ IP"/>
        <DataGridTextColumn Binding="{Binding TRZ_ENDPORT}" Header="TRZ Puerto"/>
    </DataGrid.Columns>
</DataGrid>

以及在MainViewModel

代码语言:javascript
复制
public ObservableCollection<CODE_LEVEL_CONFIGURATION> LevelConfigs
{
    get { return m_LevelConfigs; }
    set
    {
        m_LevelConfigs = value;
        RaisePropertyChanged("LevelConfigs");
    }
}

以及在CODE_LEVEL_CONFIGURATION

代码语言:javascript
复制
public class CODE_LEVEL_CONFIGURATION
{
    public byte CODE_LEVEL { get; set; }
    public string LEVEL_NAME { get; set; }
    public bool IS_ACTIVE { get; set; }
    public byte CODE_TYPE { get; set; }
    public byte CODE_SOURCE { get; set; }
    public byte? HELPER_CODE_TYPE { get; set; }
    public byte? HELPER_CODE_SOURCE { get; set; }
    public int QUANTITY { get; set; }
    public int REMAINING_CODES { get; set; }
    public string TRZ_ENDPOINT { get; set; }
    public int? TRZ_ENDPORT { get; set; }

    public virtual ICollection<CODES> Codes { get; set; }
    public virtual ICollection<HELPER_CODES> HelperCodes { get; set; }
}

但是,当我在DataGrid上加载数据时,我会得到更多在XAML上定义的列。我将获得更多的列和13列(每个CODE_LEVEL_CONFIGURATION属性都打开)。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-25 09:09:17

尝试将AutoGenerateColumns设置为False

代码语言:javascript
复制
<DataGrid x:Name="LevelConfigurationDataGrid"  AutoGenerateColumns="False" 
          Grid.Column="1" Grid.Row="1" Margin="20,0" ItemsSource="{Binding LevelConfigs}">
    <DataGrid.Columns>
        ...
    </DataGrid.Columns>
</DataGrid>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30434703

复制
相关文章

相似问题

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