DataGrid を DataTable にバインドしています。DataGrid には 4 つの列があります。
- チェックボックス (問題なし)
- テキスト ボックス 1 (問題なし)
- テキスト ボックス 2 (問題なし)
- コンボボックス(私が問題に直面しているところです)
現在、DataGrid を Datatable にバインドしているため、デフォルト値を DataGridComboBox 列に割り当てています。私の質問は非常に基本的なものかもしれません (WPF の新機能)。しかし、「ドロップダウン」スタイルを取得できず、オプションを選択する方法は? DataGridComboBox: ItemSource の値を配列にバインドするにはどうすればよいですか? 値をデータテーブルにバインドしたままにしますか?
使用したコードの一部を次に示します。
XAML:
<DataGridComboBoxColumn x:Name="ControlOption" Header ="ControlOption" Width="100"
SelectedValueBinding="{Binding Operation}
SelectedItemBinding="{Binding Path=DataGridComboxBox_Control}"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
IsReadOnly="True"
CanUserResize="True">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsSynchronizedWithCurrentItem" Value="False" />
<Setter Property="ItemsSource" Value="{Binding Choices}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>
分離コード:
_ds = new DataSet();
DataTable table = new DataTable();
_ds.Tables.Add(table);
DataColumn c1 = new DataColumn("IsActive", typeof(bool));
table.Columns.Add(c1);
DataColumn c2 = new DataColumn("DataGridTextBox1", typeof(string));
table.Columns.Add(c2);
DataColumn c3 = new DataColumn("DataGridTextBox_Summary", typeof(string));
table.Columns.Add(c3);
DataColumn c4 = new DataColumn("DataGridComboxBox_Control", typeof(string));
table.Columns.Add(c4);
datagrid.ItemsSource = _ds.Tables[0].DefaultView;
DataGridComboxBox_Control を選択肢のリスト {"A","B","C"} にバインドしたいのですが、方法を教えてください。いくつかの解決策を試しましたが、うまくいきませんでした