2015-02-19 4 views
0

У меня есть XamDataGrids, что я хочу установить цвета для своих «активных» и «выделенных» строк в приложении. Я создал ResourceDictionary и сделал это без проблем. Но как я могу установить один из цветов другого, который является системным цветом, изменив его непрозрачность в чистом XAML (или, возможно, с конвертером)? Я думал о создании цвета и изменении его непрозрачности в коде, но я хочу, чтобы он был динамическим, поэтому, если пользователь изменил цвет подсветки системы, мой пользовательский цвет не останется неизменным.WPF XAML Изменить цвет стиля на основе непрозрачности SystemColor.HighlightBrushKey?

<Style TargetType="{x:Type igDP:DataRecordCellArea}"> 
    <Setter Property="BackgroundActive" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" /> 
    <Setter Property="BackgroundSelected" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" /> 
    <!--Want to set opacity of the BackgroundSelected color to 0.7 or so--> 
</Style> 

ответ

1

Я получил его на работу следующим образом:

<SolidColorBrush x:Key="HighlightSelectedColor" Color="{DynamicResource {x:Static SystemColors.HighlightColorKey}}" Opacity="0.7"/> 
    <Style TargetType="{x:Type igDP:DataRecordCellArea}"> 
     <Setter Property="BackgroundActive" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" /> 
     <Setter Property="BackgroundSelected" Value="{StaticResource HighlightSelectedColor}" /> 
    </Style> 
Смежные вопросы