1

DataGrid を DataTable にバインドしています。DataGrid には 4 つの列があります。

  1. チェックボックス (問題なし)
  2. テキスト ボックス 1 (問題なし)
  3. テキスト ボックス 2 (問題なし)
  4. コンボボックス(私が問題に直面しているところです)

現在、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"} にバインドしたいのですが、方法を教えてください。いくつかの解決策を試しましたが、うまくいきませんでした

4

0 に答える 0