ItemsSource を使用してリストの最初の項目にデフォルト設定される Combobox があります。
<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>