2015-05-25 3 views
2

Я разрабатываю WPF с C#, .NET Framework 4.5.1, MVVM Light framework и Entity Framework 6.1.3.MVVM Light DataGrid привязка

Я это DataGrid в окне:

<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:

public ObservableCollection<CODE_LEVEL_CONFIGURATION> LevelConfigs 
{ 
    get { return m_LevelConfigs; } 
    set 
    { 
     m_LevelConfigs = value; 
     RaisePropertyChanged("LevelConfigs"); 
    } 
} 

И CODE_LEVEL_CONFIGURATION:

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).

Что я делаю неправильно?

ответ

3

установка AutoGenerateColumns на Ложный

<DataGrid x:Name="LevelConfigurationDataGrid" AutoGenerateColumns="False" 
      Grid.Column="1" Grid.Row="1" Margin="20,0" ItemsSource="{Binding LevelConfigs}"> 
    <DataGrid.Columns> 
     ... 
    </DataGrid.Columns> 
</DataGrid> 
+0

Спасибо Try, это работает. – VansFannel

Смежные вопросы