0

我的 gridView 有这个单元格模板

   <GridViewColumn.CellTemplate>
     <DataTemplate>
        <Border Style="{StaticResource ShadowBorderStyle}"  Height="75" Width="100">
          <TextBox Text="{Binding MyText}" />
         </Border>
     </DataTemplate>
   </GridViewColumn.CellTemplate>

如何设置单元格的样式,以便当鼠标在单元格上按下时,它应该显示红色边框。是否也可以对 GridView 中的所有单元格执行此操作。我正在使用 MVVM,所以我不想在后面编写代码。

4

2 回答 2

1
  <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>
于 2013-08-30T07:21:32.950 回答
0

在单元格模板中放置文本框的边框:

<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>

看看这是否对您有帮助。

谢谢

于 2013-08-30T07:02:34.830 回答