WPF - DataGridComboBoxColumnと例
-
19-09-2019 - |
質問
時々、最も簡単な例では見つけることが一番難しいです。 。 。
私は2列のデータグリッドを持っています。 1つの列が他の列が使用可能なユーザーのリストを持つコンボボックスを持っている必要があり、ロール情報が含まれています。コンボボックス内のデータは、最初の列のデータとは無関係です。私は、コンボボックスはDataContextの、唯一のitemsourceを持っていないと私はどちらかのバインディングを使用するように見えることができないという事実によって振り落とさています。
誰かがテーブルとコンボボックスにデータ用の2つの異なるデータセットを使用して簡単な例を私にポイントしてくださいできますか?
解決
データグリッドの列には、DataContextのを持っていけません。 =ビット奇妙に聞こえるが、<のhref =「http://blogs.msdn.com/vinsibal/archive/2008/08/14/wpf-datagrid-dissecting-the-visual-layout.aspx」のrelを見てみましょう「nofollowをnoreferrer」>ブログで、視覚的なレイアウトのその得た良い例をvinces。グリッドが描画された後の細胞は、データコンテキストを持っていて、それらは通常のバインディングを使用してコンボボックスの項目のソースを設定することができます(静的でないリソースを...)
あなたのようなコンボボックスの項目ソースにアクセスすることができます。
<dg:DataGridComboBoxColumn>
<dg:DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=MyBindingPath}" />
</Style>
</dg:DataGridComboBoxColumn.EditingElementStyle>
</dg:DataGridComboBoxColumn>
ここのルックを持っており、また、ここをいくつかのコードのための
他のヒント
の代わりに1の代わりにDataGridComboBoxColumnを使用していますDataGridTextColumnsを使用します。その後、一方が最終的に一つSelectedItemBindingにおけるユーザ選択を保持する対象物との結果を結合する静的リソースにおける外部列挙するために、次の例の点で、及びのItemsSourceを使用してデータを埋める。
<DataGrid.Columns>
<DataGridComboBoxColumn Header="MySelections"
SelectedItemBinding="{Binding MySelectionsProperty}"
ItemsSource="{Binding Source={StaticResource mySelectionsEnum}}" />
</DataGrid.Columns>