У меня есть приложение wpf 4.5, у которого есть datagrid в usercontrol. Я разработал стиль для datagrid в Blend, но когда я копирую стиль в проект VS 2012, он работает неправильно.WPF Datagrid Style Selected Row
Вот что базовый стиль выглядит в смесь:
Пожалуйста, обратите внимание на цвет текста в выбранной строке (зеленый) и отступы вокруг текстового поля редактируемого
Теперь вот что тот же стиль выглядит Visual Studio 2012:
Таким образом, выделенный текст из выбранной строки имеет тот же цвет, что и фон (что делает его невидимым), и я не могу изменить бордкорлор или поле текста для соответствия стилю blend.
здесь стиль ячейки:
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border x:Name="border"
BorderBrush="Transparent"
BorderThickness="1"
Background="Transparent"
SnapsToDevicePixels="True"
Margin="15,10,15,10">
<ContentPresenter Name="CellContent" SnapsToDevicePixels="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Green"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="#FFD8D8D8"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
так что вы можете увидеть, что триггер маркировки зеленый, как foregorund цветных работ в смеси, но не Visual Studio. Я думаю, что это системный цвет, который переопределяет триггер каким-то образом, но я не уверен, как это отслеживать.
Может кто-то, пожалуйста, помогите мне исправить эту проблему стиля, установив выбранный цвет текста строки и рамки/поля текстового поля.
This is a link to the entire datagrid style resource dictionary
заранее спасибо
JKing, каков был последний шаблон? Благодаря! – Rachael
@ UB3571, я отредактировал свой ответ, чтобы включить мой datagridstyle –