3

すべての列からアクセスする DataGrid の行ごとに StaticResource を xamly に設定する方法はありますか?


更新
私の目的は、3 つの ComboBox 列を持つことですが、実際には最後の列のみが行項目にバインドされます。
たとえば、DataGrid はアイテムのリストを表します。私は Category->Vendor->Style->Finish ComboBoxes を持っていますが、これらはナビゲーション支援のためだけのものです。実際、Item クラスには 'Finish' 関係しかありません。したがって、行ごとに StaticResource が存在する可能性がある場合、ComboBox の ItemsSource および IsSynchronizedWithCurrentItem 小道具を設定でき、これは自動的に機能します。

どうもありがとう。

4

4 に答える 4

1

技術的には、行がビジュアル ツリーにあるため、可能だと思います。しかし、あなたは何を達成しようとしていますか?おそらくもっと良い方法があります。

于 2010-04-22T05:16:45.880 に答える
0

確かに、次のようにDataGridレベルで設定できます。

xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

<data:DataGrid x:Name="..."  ItemsSource="{Binding ...}" >
    <data:DataGrid.Resources>
    </data:DataGrid.Resources>
</data:DataGrid>

行テンプレートを定義すれば、行レベルで設定できると思いますか?

于 2010-04-22T05:30:37.777 に答える
0

あなたが達成しようとしていることについてもう少し詳しく説明できますか?

コレクション (ObjectDataProvider タイプを参照) を表す 1 つの staticResource を用意し、XAML で DataGrid の ItemSource プロパティをそれにバインドする方が簡単だと思います。

于 2010-04-22T05:16:43.240 に答える
0

私が何をして問題を解決したか (これが適切な方法であるかどうかの保証はありません)、UserControl を DataTemplate コンテンツとして使用し、UserControl でリソースを宣言し、毎回初期化します。

私が試したことのないもう1つのことは、x:Shared属性をfalseに設定することです。これは、問題を解決するのに役立つと思われます。

于 2011-01-16T03:17:06.553 に答える