2011-09-01 7 views
0

コンボボックスから継承するカスタムコントロールのスタイルは、変更できません。このスタイルの中にはItemsSourceを取り込むDataGridコントロールがあり、DataGridにはおそらくイベントのためにどこかでコード内で参照される必要があるx:Nameがあります。スタイルでのWPFバインディングヘルプ?

だから、基本的

<Style x:Key="ComboBoxStyle" TargetType="ComboBox"> 
     <Setter Property="Template"> 
      <Setter.Value> 

       ... A whole bunch of other stuff. 

       <xcdg:DataGridControl 
       x:Name="CustomItemOneGrid" 
       ItemsSource="{Binding Source={StaticResource CustomItemOne_DataSource}}" 
       SelectionChanged="CustomItemOneGrid_SelectionChanged"> 

ここに私の問題はCustomItemOne_DataSourceは、よく私は、このコントロールとウェル3つのデータソースを使用します3回があるということです。また、私が購読する必要がある選択変更イベント。私は3つのコントロールすべてで使用できるスタイルでこれを保持する方法はありますか?それでも、異なるEventとItemsSourceがありますか?

答えて

0

ComboBoxクラスで定義されていない変更可能な項目(たとえば、GridItemsSource)の添付プロパティを定義します。次に、テンプレートの添付プロパティにバインドします。私は多くの場合、hereについて話し合っています。

+0

これはうまくいくはずです:)しかし、私はまだ自分のユーザーコントロールをすべて取り出すと思いますが、他のカスタムコントロールから継承します。私は両方を試してみる。ありがとう! – Mike

0

通常、私はDataContextをスタイル/データテンプレートを実装しているコントロールからフローさせ、そのコントロールのプロパティにバインドします。私はあなたのバインディングにStatisResourcesを使用しません。

+0

通常は私もそうです。残念ながら、これはHUNDRED +スポットでアプリケーションに焼き付けられたために変更できるコードではありません。 – Mike

関連する問題