2

を作成し、プログラムDataGridで追加しました。DataGridComboBoxColumn

public partial class MainWindow : Window
{

    private DataGridComboBoxColumn weightColumnChar = new DataGridComboBoxColumn();
    ObservableCollection<int> mComboBoxValues;
    public ObservableCollection<int> ComboBoxValues
    {
        get { return this.mComboBoxValues; }
        set { this.mComboBoxValues = value; }
    }//end property
    public MainWindow()
    {
        InitializeComponent();
        mComboBoxValues = new ObservableCollection<int>() {-1, 0, 1 };
    }//end constructor
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        weightColumnChar.Header = "Weight";
        dataGrid_Char.Columns.Add(weightColumnChar);

        weightColumnChar.ItemsSource = ComboBoxValues;
        Binding binding = new Binding();
        binding.Path = new PropertyPath(ComboBoxValues[1]);
        weightColumnChar.SelectedItemBinding = binding;
    }//end method
    private void dataGrid_Char_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

    }//end method
    //Opens ComboBox on first click
    private void dataGrid_Char_GotFocus(object sender, RoutedEventArgs e)
    {
        if (e.OriginalSource.GetType() == typeof(DataGridCell))
        {
            DataGrid grd = (DataGrid)sender;
            grd.BeginEdit(e);
        }//end if
    }//end method
}//end class

を追加し、ItemsSourceから値を取得しますObservableCollection

コレクションの値は実行時に表示されます。

私の問題は、ComboBoxこの値から値を選択すると、後で選択されずに表示されることです。私は何を間違っていますか?

また、デフォルト値も選択したいと思います。それはどのように機能しますか?

XAML ではなく、プログラムで説明してください。

誰かが私を助けることができれば素晴らしいだろう.

ありがとう!!!

4

1 に答える 1