在GridView MVVM中设置单元格样式
本文关键字:单元格 样式 设置 GridView MVVM | 更新日期: 2023-09-27 18:29:32
我有这个网格视图的单元格模板
<GridViewColumn.CellTemplate>
<DataTemplate>
<Border Style="{StaticResource ShadowBorderStyle}" Height="75" Width="100">
<TextBox Text="{Binding MyText}" />
</Border>
</DataTemplate>
</GridViewColumn.CellTemplate>
如何设置单元格的样式,使鼠标按在单元格上时,它应该在上面显示红色边框。是否可以对GridView中的所有单元格都这样做。我正在使用MVVM,所以我不想在代码后面做它。
<DataGrid>
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="(Border.BorderBrush).(Color)"
To="Red"
Duration="0:0:0" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
</DataGrid>
在单元格模板中放置文本框的边框:
<Border.Style>
<Style TargetType="{x:Type Border}">
<Style.Triggers>
<Trigger Property="IsMouseCaptureWithin" Value="True">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
看看这对你有没有帮助。
感谢