【发布时间】:2015-08-06 18:16:54
【问题描述】:
我正在使用 C#、.NET Framework 4.5.1、MVVM Light 框架和 Entity Framework 6.1.3 开发 WPF。
我在窗口中有这个DataGrid:
<DataGrid x:Name="LevelConfigurationDataGrid" Grid.Column="1" Grid.Row="1" Margin="20,0" ItemsSource="{Binding LevelConfigs}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding CODE_LEVEL}" Header="Nivel"/>
<DataGridTextColumn Binding="{Binding LEVEL_NAME}" Header="Nombre"/>
<DataGridCheckBoxColumn Binding="{Binding IS_ACTIVE}" Header="¿Activa?"/>
<DataGridComboBoxColumn Header="Tipo de código" SelectedValueBinding="{Binding CODE_TYPE}" SelectedItemBinding="{x:Null}" TextBinding="{x:Null}"/>
<DataGridComboBoxColumn Header="Origen del código" SelectedValueBinding="{Binding CODE_SOURCE}" SelectedItemBinding="{x:Null}" TextBinding="{x:Null}"/>
<DataGridComboBoxColumn Header="Tipo de Helper Code" SelectedValueBinding="{Binding HELPER_CODE_TYPE}" SelectedItemBinding="{x:Null}" TextBinding="{x:Null}"/>
<DataGridComboBoxColumn Header="Origen de Helper Code" SelectedValueBinding="{Binding HELPER_CODE_SOURCE}" SelectedItemBinding="{x:Null}" TextBinding="{x:Null}"/>
<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; }
}
但是当我运行应用程序时,我在 DataGridComboBoxColumn 上看不到任何内容。
我不知道如何设置TextBinding属性。
CODE_LEVEL_CONFIGURATION.CODE_TYPE 值是一个 ID。我需要为每个可能的值显示一个描述性文本。而且,当我得到这个值时,我需要得到它的ID 来将它存储在数据库中。
我需要enum 或其他东西来获取每个CODE_TYPE 值的文本吗?
【问题讨论】:
标签: c# wpf mvvm data-binding datagrid