突出显示最后一个RibbonButton

时间:2016-09-27 12:27:14

标签: wpf button mvvm

如何高亮显示点击的最后一个按钮,以便用户确保显示正确的内容? (我希望突出显示特定内容的1个按钮,直到另一个被点击)。

我正在使用功能区(System.Windows.Controls.Ribbon)。 应突出显示的按钮保存在RibbonGroup中,用于更改主要内容。

其他按钮应该正常运行(我想限制点击后突出显示的按钮数量)

我使用Model-View-ViewModel模式

   <div id="home">
     <div class="hook" data-hook="home-info"></div>
     <div class="hook" data-hook="home-navi"></div>
   </div>

1 个答案:

答案 0 :(得分:0)

我通过绑定HighLightSettingButton属性和BorderBrush来解决它

<RibbonButton Label="Settings" BorderBrush="{Binding HighLightSettingButton, Converter={StaticResource brs}}" Command="{Binding ChangeToSettingContentCommand}" LargeImageSource="pack://application:,,,/Resources/Settings.png"></RibbonButton

并且Border Brush的实现是

    public class BrushColorConverter : IValueConverter
    {

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
        if ((bool)value == true) {
            return new SolidColorBrush(Colors.Orange);                 
            //return (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFEBAA"));
        } else
        return null;
    }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
        throw new NotImplementedException();
    }

 }