0

ツールバーにボタンを配置すると、ツールバーの要素に合わせてスタイルが自動的に変更されます。

ToggleButton から独自のクラスを派生させたので、ツールバーでインスタンス化すると、再び通常のボタンのように見えます。テンプレート全体を最初から再作成する必要がないように、WPF の組み込みテンプレートにアクセスするにはどうすればよいですか?

4

3 に答える 3

2

どうやら ToolBar には、 および を含むいくつかのコントロール用に定義されたリソースがButtonありToggleButtonます。このスタイルは、ツールバーのメタデータで見つけることができ、ターゲット タイプの各コントロールに適用されます。したがって、スタイルを取得して自分で適用できます。

    <ToolBar>
        <my:CustomToggleButton 
            Height="100" Width="100" 
            Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}" 
            Content="Press me!" />
    </ToolBar>

多くのボタンがあり、それぞれにスタイルを設定したくない場合は、カスタム コントロールのコード ビハインドでスタイルを設定できます。

于 2012-11-14T08:28:44.290 に答える
0

および/またはOnApplyTemplateを使用して、オーバーライドでテンプレートの変更にアクセスできます。VisualTreeHelperLogicalTreeHeler

于 2012-11-14T08:32:13.397 に答える
0

styleこのようにカスタム トグル ボタンにを適用して、ツールバーのトグル ボタンのように見せることができます -

<local:LockableToggleButton LockToggle="True" Content="Test"
       Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"/>
于 2012-11-14T08:24:36.843 に答える