0

I want to take Event Trigger of Datagrid Cell. I mean to say I want to write something like this

**<EventTrigger EventName="MouseEnter">**

and then call function this from XAML:

void Cell_MouseEnter(object sender, MouseEventArgs e)

How would I do that:

i have this in XAML

    <ctrls:RhinoDataGrid x:Name="dataGrid" Grid.Row="1" Margin="5" ItemsSource="{Binding Model.CurrentDataTable}"   
                             Style="{StaticResource RhinoDataGridBaseStyle}" IsReadOnly="{Binding Model.IsLinkFile}"
                             SelectedValue="{Binding Model.CurrentDataRow}" SelectedValuePath="Row"                                 SetAutomappingOnOff="{Binding IsAutoMap, Mode=TwoWay}" >
            </ctrls:RhinoDataGrid>


     <Style TargetType="{x:Type DataGridCell}">
            <Setter Property="BorderBrush" Value="Transparent"></Setter>
            <Setter Property="BorderThickness" Value="2"></Setter>
            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Foreground" Value="White"></Setter>
                    <Setter Property="BorderBrush" Value="{DynamicResource ActiveItemBrush}"></Setter>
                    <Setter Property="BorderThickness" Value="2"></Setter>
                </Trigger>
            </Style.Triggers>            

Pls help

Thanks Dee

chriga
  • 798
  • 2
  • 12
  • 29
Dee Choksi
  • 125
  • 4
  • 15

3 Answers3

0

Check for "IsMouseOver" instead. I assume "RhinoDataGrid" inherits from our known WPF's DataGrid.

NestorArturo
  • 2,476
  • 1
  • 18
  • 21
0
<Style TargetType="{x:Type DataGridCell}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridCell}">
              <Grid Mouse.MouseEnter="Cell_MouseEnter" Background="{TemplateBinding Background}">       
                 <ContentPresenter/>
              </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
denis morozov
  • 6,236
  • 3
  • 30
  • 45
0

You are confusing EventSetter with EventTrigger....

  <Style TargetType="{x:Type DataGridCell}"> 
       <EventSetter Event="MouseEnter" Handler="Cell_MouseEnter"/>
  </Style> 
WPF-it
  • 19,625
  • 8
  • 55
  • 71
  • I have got error : The event 'MouseEnter' cannot be specified on a Target tag in a Style. Use an EventSetter instead. Is there something special with my datagrid. I check online and for every one it works – Dee Choksi May 15 '12 at 14:45