【问题标题】:Style a cell in GridView MVVM在 GridView MVVM 中设置单元格样式
【发布时间】:2013-08-30 06:56:19
【问题描述】:

我的 gridView 有这个单元格模板

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

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

【问题讨论】:

    标签: c# wpf gridview mvvm


    【解决方案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>
    

    【讨论】:

    • 我使用的是 GridView 而不是 DataGrid,请告诉我如何将它用于 GridViewCell
    【解决方案2】:

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

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

    看看这对你有没有帮助。

    谢谢

    【讨论】:

    • 我使用的是 GridView 而不是 DataGrid,请告诉我如何将它用于 GridViewCell
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多