我有一个组合框,它默认为 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>