トグルボタンのアイコン(コンテンツ:Fluent RibbonBar)を変更したいのですが、IsCheckedプロパティによって異なります。今度は次のスタイルスニペットを書いています:IsCheckedのトリガーがトリガーされない
<Fluent:ToggleButton.Style>
<Style BasedOn="{StaticResource RibbonButtonStyle}" TargetType="{x:Type Fluent:ToggleButton}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Fluent:ToggleButton}}, Path=IsChecked}" Value="False">
<Setter Property="Icon" Value="{StaticResource ResourceKey=Style.Images.Pined}"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Fluent:ToggleButton}}, Path=IsChecked}" Value="True">
<Setter Property="Icon" Value="{StaticResource ResourceKey=Style.Images.Unpined}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Fluent:ToggleButton.Style>
問題は、トリガーがイメージをうまく読み込めないことです。問題は、IsCheckedがそれ自体を実現していないことです。私はすでにこれをテストしました。また、アイコンプロパティはどこにでも設定しません。イメージリソースは、他の場所で使用するとうまく動作します。
リビルドのための情報:BackstageTabItemに配置されたRibbonListBoxのDataTemplateとしてToggleButtonをBackstageに配置しました。
あなたはIconプロパティを他の場所で直接設定していませんか?その場合、 'セッター'は動作しません。 – lbergnehr
ToggleButton宣言で直接のみ...試してみます。 – CShark
要素の宣言から「アイコン=」が削除されていません – CShark