1
我想以編程方式在DataGrid中填充ComboBox,但它不起作用。 這是XAML代碼:通過Loaded事件以編程方式在DataGridTemplateColumn中設置ComboBox項目
<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>
我想,以填補組合框:
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」...
任何人都可以給我一個提示,我在做什麼錯在這裏?