2011-10-21 2 views
0

私は特定のコントロールを持っています。私はそれがToolBarに置かれているときにスタイルを作りたい。私はButton、CheckBox、その他の標準コントロールの場合にどのように行うのかを見つけましたが、私のコントロールのためにどうすればいいのですか?ツールバーのカスタムコントロール

+0

標準コントロールのためにどのように達成したかの例を挙げることができますか? – Ucodia

+0

もちろん、ツールバーのボタンスタイルは次のようになります。 daVinci

答えて

0

[OK]あなたはあなたに答えを与えることができると思います。特定のユーザーコントロールのToolBarコントロールのItemContainerStyleを設定するだけで済みます。まずあなたの特定のコントロールが配置されている「私の」名前空間を宣言し、ちょうどこのようなものを追加します。あなたは、上記のボタンのようなツールバーに他のコントロールの種類を追加したい場合は

<ToolBar> 
    <ToolBar.ItemContainerStyle> 
     <Style TargetType="{x:Type my:MyUserControl}"> 
      <Setter Property="Background" Value="Azure"/> 
     </Style> 
    </ToolBar.ItemContainerStyle> 
    <my:MyUserControl/> 
</ToolBar> 

は、その後、あなたがする必要があります。 ItemContainerStyleSelectorプロパティに設定する代わりにカスタムStyleSelectorを定義します。ここでは、StyleSelector実装のかなり良い例を紹介します:Style Selectors

1
<Style x:Key="MyStyleForCustomControl" TargetType="{x:Type NameSpace:CustomControl}"> 

// Your setter's for your controls go here. 

</Style> 

ネームスペース - あなたのコントロールの名前 - あなたのコントロールが CustomControl存在しています。

これは必要なものですか?

EDIT:あなたがコントロールして、ツールバーのスタイルをしたい場合は

、単にあなたのUserControlリソースのスタイルを置き、それがあなたのコントロール内に置かれたツールバーに適用されます。このスタイルの範囲はコントロールに限定され、コントロールの外に隠されます。

<UserControl.Resources> 
<Style TargetType="{x:Type ToolBar}"> 
    .... 
</Style> 
</UserControl.Resources> 
+0

いいえ、そうではありません。標準のコントロールでは、ToolBar.ButtonStyleKey、ToolBar.CheckBoxStyleKeyなどを使用できます。 – daVinci

+0

私は自分の答えを更新しました。見てください。 –

関連する問題