我想以编程方式在 DataGrid 中填充 ComboBox,但它不起作用。这是 XAML 代码:
<DataGridTemplateColumn
CellStyle="{StaticResource DataGridColumnContentCenter}"
local:DataGridUtil.Name="ComboBoxCol01"
x:Name="ComboBoxCol01"
Header="Maschine"
SortMemberPath="ComboBoxCol01"
IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="@name"
IsSynchronizedWithCurrentItem="False"
SelectedIndex="{Binding ComboBoxCol01}"
IsReadOnly="True"
IsEditable="True"
IsDropDownOpen="False"
IsHitTestVisible="True"
Width="104"
Loaded="ComboBoxCol01_Loaded">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
通过 Loaded 事件,我想填充 ComboBox:
private void ComboBoxCol01_Loaded(object sender, RoutedEventArgs e)
{
List<string> myList = new List<string>();
myList.Add("item1");
myList.Add("item2");
myList.Add("item3");
myList.Add("item4");
ComboBox curComboBox = sender as ComboBox;
curComboBox.ItemsSource = myList;
}
另一个版本也不起作用:
private void ComboBoxCol01_Loaded(object sender, RoutedEventArgs e)
{
ComboBox curComboBox = sender as ComboBox;
curComboBox.Items.Add("item1");
curComboBox.Items.Add("item2");
curComboBox.Items.Add("item3");
curComboBox.Items.Add("item4");
}
DataGrid 中的组合框包含 4 个空项。空意味着没有“item1”......
我在这里做错了什么?