我有一个Combobox,使用
默认为ItemsSource列表中的第一项<ComboBox x:Name="combo"
SelectedIndex="0"
ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
DisplayMemberPath="Key"
IsEditable="True" >
但是,下面没有正确绑定到DataTable
当我向SelectedValue添加绑定时,它现在正确绑定但不再默认为第一个项目;
SelectedIndex="0"
现在无法使用
<ComboBox x:Name="combo"
SelectedValue="{Binding Selection, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedIndex="0"
ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
DisplayMemberPath="Key"
IsEditable="True" >
是否可以仅在XAML中初始化值?
我认为我不能从构造函数中设置它,因为combo
不是单个Combobox而是DataGridComboBoxColumn的一部分
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Department Id" x:Name="comboboxColumn1"
SelectedValueBinding="{Binding Department Id}" />
<DataGridTemplateColumn x:Name="DataGridTempCol" Header="Selection">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
x:Name="combo"
SelectedValue="{Binding Selection, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
DisplayMemberPath="Key"
IsEditable="True" >
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
答案 0 :(得分:2)
将SelectedValue设置为ctor中的第一行。