.Net 4.5 RibbonToggleButton SmallImageSource上的样式触发器

时间:2014-08-07 09:12:07

标签: wpf xaml triggers .net-4.5 ribbon

我的RibbonToggleButton

有以下样式
                <Style TargetType="RibbonToggleButton">
                <Style.Triggers>
                    <Trigger Property="ToggleButton.IsChecked" Value="True">
                        <Setter Property="SmallImageSource" >
                            <Setter.Value>
                                <Image Source="Images/small_checked.png"/>
                                </Setter.Value>
                        </Setter>
                    </Trigger>
                    <Trigger Property="IsChecked" Value="False">
                        <Setter Property="SmallImageSource" >
                            <Setter.Value>
                                <Image Source="Images/small_unchecked.png"/>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>

我还尝试了SmallImageSource属性的完整路径:

 "System.Windows.Media.ImageSource.SmallImageSource"

但我总是得到这个错误:

  

错误1无法解析样式属性&#39; SmallImageSource&#39;。验证拥有类型是Style的TargetType,或使用Class.Property语法指定Property。线......

更新&#34;解决方案&#34;

<RibbonToggleButton.Style>
    <Style>
        <!-- set the affected properties only here -->
        <Setter Property="SmallImageSource" Value="Images/small_unchecked.png"/>
        <Setter Property="LargeImageSource" Value="Images/large_unchecked.png"/>
        <Style.Triggers>
            <Trigger Property="IsChecked" Value="True">
                <Setter Property="SmallImageSource" Value="Images/small_checked.png"/>
                <Setter Property="LargeImageSource" Value="Images/large_checked.png"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</RibbonToggleButton.Style>

1 个答案:

答案 0 :(得分:0)

您是否尝试过为自己的风格添加目标类型?

所以它将是<Style TargetType="RibbonToggleButton">而不仅仅是<Style> {{1}}