WPF Grid有没行的事件呢?因为我想点击某一行后设置此行的背景色!!

时间:2023-01-30 14:49:33
WPF Grid有没行的事件呢?因为我想点击某一行后设置此行的背景色!!

1 个解决方案

#1


给你个简单的例程。


<Page   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">       <Page.Resources>           <Style x:Key="CustomerDefinition"   TargetType="TextBlock">               <Setter Property="Control.FontFamily"   Value="Tahoma"/>               <Setter Property="Control.FontSize"   Value="12"/>               <Setter Property="Control.Foreground"   Value="Red"/>           </Style>           <Style TargetType="{x:Type Label}">               <Setter Property="Width" Value="100"/>           </Style>           <Style x:Key="{x:Type TextBox}" TargetType="{x:Type   TextBox}">               <Setter Property="SnapsToDevicePixels"   Value="True"/>               <Setter Property="OverridesDefaultStyle"   Value="True"/>               <Setter Property="KeyboardNavigation.TabNavigation"   Value="None"/>               <Setter Property="FocusVisualStyle"   Value="{x:Null}"/>               <Setter Property="MinWidth" Value="120"/>               <Setter Property="MinHeight" Value="20"/>               <Setter Property="AllowDrop" Value="true"/>               <Setter Property="Width" Value="200"/>               <Setter Property="Template">                   <Setter.Value>                       <ControlTemplate TargetType="{x:Type TextBoxBase}">                           <Border                               Name="Border"                               Background="#FFEBE9E9"                               BorderBrush="#FF8B8787"                               BorderThickness="1"                               CornerRadius="2"                               Padding="3">                               <ScrollViewer   x:Name="PART_ContentHost"   Margin="0"/>                           </Border>                           <ControlTemplate.Triggers>                               <Trigger Property="IsEnabled" Value="False">                                   <Setter TargetName="Border"   Property="Background"   Value="#EEEEEE"/>                                   <Setter TargetName="Border"   Property="BorderBrush"   Value="#EEEEEE"/>                                   <Setter Property="Foreground"   Value="#888888"/>                               </Trigger>                           </ControlTemplate.Triggers>                       </ControlTemplate>                   </Setter.Value>               </Setter>           </Style>           <LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0"   EndPoint="0,1">               <GradientBrush.GradientStops>                   <GradientStopCollection>                       <GradientStop Offset="0.0" Color="#FFF0EDED"/>                       <GradientStop Offset="1.0" Color="#FFE1E0E0"/>                   </GradientStopCollection>               </GradientBrush.GradientStops>           </LinearGradientBrush>       </Page.Resources>       <Grid>           <Grid.ColumnDefinitions>               <ColumnDefinition Width="*"/>               <ColumnDefinition Width="*"/>           </Grid.ColumnDefinitions>           <Grid.RowDefinitions>               <RowDefinition Height="26"/>               <RowDefinition Height="23"/>               <RowDefinition Height="24"/>               <RowDefinition Height="24"/>               <RowDefinition Height="24"/>           </Grid.RowDefinitions>           <TextBlock               Grid.ColumnSpan="2"               Grid.Row="0"               Style="{StaticResource CustomerDefinition}"               Text="Customer Definition"/>           <Border               Grid.Column="0"               Grid.Row="1"               Background="#FFEBE9E9"               BorderBrush="#FF8B8787"               BorderThickness="1">               <StackPanel Background="{StaticResource   NormalBrush}"   Orientation="Horizontal">                   <Label Content="Customer Code"/>                   <TextBox Text="SMITHA 098 (normally I'd bind here)"/>               </StackPanel>           </Border>           <Border               Grid.Column="1"               Grid.Row="1"               Background="#FFEBE9E9"               BorderBrush="#FF8B8787"               BorderThickness="1">               <StackPanel Background="{StaticResource   NormalBrush}"   Orientation="Horizontal">                   <Label Content="Customer Type"/>                   <TextBox Text="PRIVATE INDIVIDUAL"/>               </StackPanel>           </Border>       </Grid> </Page>

#1


给你个简单的例程。


<Page   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">       <Page.Resources>           <Style x:Key="CustomerDefinition"   TargetType="TextBlock">               <Setter Property="Control.FontFamily"   Value="Tahoma"/>               <Setter Property="Control.FontSize"   Value="12"/>               <Setter Property="Control.Foreground"   Value="Red"/>           </Style>           <Style TargetType="{x:Type Label}">               <Setter Property="Width" Value="100"/>           </Style>           <Style x:Key="{x:Type TextBox}" TargetType="{x:Type   TextBox}">               <Setter Property="SnapsToDevicePixels"   Value="True"/>               <Setter Property="OverridesDefaultStyle"   Value="True"/>               <Setter Property="KeyboardNavigation.TabNavigation"   Value="None"/>               <Setter Property="FocusVisualStyle"   Value="{x:Null}"/>               <Setter Property="MinWidth" Value="120"/>               <Setter Property="MinHeight" Value="20"/>               <Setter Property="AllowDrop" Value="true"/>               <Setter Property="Width" Value="200"/>               <Setter Property="Template">                   <Setter.Value>                       <ControlTemplate TargetType="{x:Type TextBoxBase}">                           <Border                               Name="Border"                               Background="#FFEBE9E9"                               BorderBrush="#FF8B8787"                               BorderThickness="1"                               CornerRadius="2"                               Padding="3">                               <ScrollViewer   x:Name="PART_ContentHost"   Margin="0"/>                           </Border>                           <ControlTemplate.Triggers>                               <Trigger Property="IsEnabled" Value="False">                                   <Setter TargetName="Border"   Property="Background"   Value="#EEEEEE"/>                                   <Setter TargetName="Border"   Property="BorderBrush"   Value="#EEEEEE"/>                                   <Setter Property="Foreground"   Value="#888888"/>                               </Trigger>                           </ControlTemplate.Triggers>                       </ControlTemplate>                   </Setter.Value>               </Setter>           </Style>           <LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0"   EndPoint="0,1">               <GradientBrush.GradientStops>                   <GradientStopCollection>                       <GradientStop Offset="0.0" Color="#FFF0EDED"/>                       <GradientStop Offset="1.0" Color="#FFE1E0E0"/>                   </GradientStopCollection>               </GradientBrush.GradientStops>           </LinearGradientBrush>       </Page.Resources>       <Grid>           <Grid.ColumnDefinitions>               <ColumnDefinition Width="*"/>               <ColumnDefinition Width="*"/>           </Grid.ColumnDefinitions>           <Grid.RowDefinitions>               <RowDefinition Height="26"/>               <RowDefinition Height="23"/>               <RowDefinition Height="24"/>               <RowDefinition Height="24"/>               <RowDefinition Height="24"/>           </Grid.RowDefinitions>           <TextBlock               Grid.ColumnSpan="2"               Grid.Row="0"               Style="{StaticResource CustomerDefinition}"               Text="Customer Definition"/>           <Border               Grid.Column="0"               Grid.Row="1"               Background="#FFEBE9E9"               BorderBrush="#FF8B8787"               BorderThickness="1">               <StackPanel Background="{StaticResource   NormalBrush}"   Orientation="Horizontal">                   <Label Content="Customer Code"/>                   <TextBox Text="SMITHA 098 (normally I'd bind here)"/>               </StackPanel>           </Border>           <Border               Grid.Column="1"               Grid.Row="1"               Background="#FFEBE9E9"               BorderBrush="#FF8B8787"               BorderThickness="1">               <StackPanel Background="{StaticResource   NormalBrush}"   Orientation="Horizontal">                   <Label Content="Customer Type"/>                   <TextBox Text="PRIVATE INDIVIDUAL"/>               </StackPanel>           </Border>       </Grid> </Page>