1

質問の最も単純なバージョンを試してみましょう:

BOUND DataGrid に UNBOUND ドロップダウン タイプの列を作成できますか?

上記のステートメントが抽象的すぎて理解できない場合の例を次に示します。

DataGridnameddgStudentsにバインドされたnamedDataTabledtStudents、テーブルのいくつかの列 (Name、Age、City など) がすべて単純なDataGridTextColumns であることが示されます。一般的なスポーツの静的リストにバインドされた単純なドロップダウン タイプの列である、FavSports という名前のグリッドに 4 番目の列を追加したいと考えています。ここで最も重要なことは、(他の 3 つの列とは異なり) このドロップダウン列には、DataTable. の寿命に必要なだけなDataGridので、どこにも保管していません。

私は次のことを試しました:

<DataGridComboBoxColumn ItemsSource="{StaticResource Sports}">

ここSportsで、XAML 内で定義された配列です。

<x:Array x:Key="Sports" Type="sys:String">
    <sys:String>Football</sys:String>
    <sys:String>Hockey</sys:String>
    <sys:String>Tennis</sys:String>
</x:Array>

私の人生のためにこれを機能させることはできません。ドロップダウンは表示され、ユーザーは別のセルに移動した後に表示される値を選択できますが、それだけです。ユーザーがそのセルに戻った後、ドロップダウンは空で表示され、ユーザーがドロップダウンをクリックせずにセルを離れても、以前の値は失われます。

4

1 に答える 1