Я использую MahAppsMetro
, и поэтому у меня есть ResourceDictionary
, где я могу изменить цвет дизайна. Теперь я изменил цвет на синий. Но я не знаю, как изменить textcolor
selected item
на combobox
/table
. Похоже, это сейчас:Изменение Combobox/Table Item textcolor на Mouseover в ResourceDictionary
Так что теперь я хочу, чтобы изменить TextColor белым по ResourceDictionary .. Это выглядит примерно так же:
<!-- re-set brushes too -->
<SolidColorBrush x:Key="HighlightBrush" Color="{StaticResource HighlightColor}" options:Freeze="True" />
<SolidColorBrush x:Key="AccentColorBrush" Color="{StaticResource AccentColor}" options:Freeze="True" />
<SolidColorBrush x:Key="AccentColorBrush2" Color="{StaticResource AccentColor2}" options:Freeze="True" />
<SolidColorBrush x:Key="AccentColorBrush3" Color="{StaticResource AccentColor3}" options:Freeze="True" />
<SolidColorBrush x:Key="AccentColorBrush4" Color="{StaticResource AccentColor4}" options:Freeze="True" />
<SolidColorBrush x:Key="WindowTitleColorBrush" Color="{StaticResource AccentColor}" options:Freeze="True" />
<LinearGradientBrush x:Key="ProgressBrush" EndPoint="0.001,0.5" StartPoint="1.002,0.5" options:Freeze="True">
<GradientStop Color="{StaticResource HighlightColor}" Offset="0" />
<GradientStop Color="{StaticResource AccentColor3}" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="CheckmarkFill" Color="{StaticResource AccentColor}" options:Freeze="True" />
<SolidColorBrush x:Key="RightArrowFill" Color="{StaticResource AccentColor}" options:Freeze="True" />
Можете ли вы рассказать мне, что мне нужно добавить в свой ресурс ResourceDictionary, чтобы иметь белый текст в MouseOver элементов.
Надеюсь, что я хочу делать. Еще скажите, пожалуйста, какую дополнительную информацию вам нужно.
редактировать:
Для Combobox
это работает в настоящее время. Но не для DataGrid
. Вот как я добавил DataGrid
:
<DataGrid x:Name="mydatagrid" SelectionUnit="FullRow" HorizontalAlignment="Left" Margin="159,33,0,0" VerticalAlignment="Top" Height="204" Width="275" Background="{x:Null}" BorderBrush="Transparent" CanUserAddRows="False" GridLinesVisibility="None" BorderThickness="0" CanUserResizeRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="User" Binding="{Binding User, Mode=OneWay}" Width="100" IsReadOnly="True" CanUserResize="False" />
<DataGridTextColumn Header="Vote" Binding="{Binding Vote, Mode=OneWay}" Width="90" IsReadOnly="True" CanUserResize="False" />
<DataGridTemplateColumn Header="Status" Width="66" IsReadOnly="True" CanUserResize="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Status, Mode=OneWay}" Width="16"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Real_Username" Binding="{Binding Real_Username, Mode=OneWay}" Width="90" IsReadOnly="True" CanUserResize="False"/>
</DataGrid.Columns>
</DataGrid>
Я пытался добавить различные методы для моей Application.xaml и расширил триггера IsMouseOver с:
<Setter Property="Controls.Foreground" Value="{DynamicResource AccentSelectedColorBrush}" />
Что я делаю неправильно?
Я никогда не пробовал это сам, но я бы предложил посмотреть триггеры: http://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/ – MikeT