WPF DataGridRow在MouseOver上触发事件

用户名

用户将鼠标光标放在一行上时,是否可以使用一个事件?基本上我需要在光标更改行时更改行的工具提示

到目前为止我有这样的事情

 <Style TargetType="DataGridRow">
         <Style.Triggers>
            <Trigger Property="IsMouseOver"
                         Value="True">
               <EventSetter Event="PreviewMouseMove" Handler="MouseMoveEvent"></EventSetter>
            </Trigger>
         </Style.Triggers> 
 </Style>

但这并不完全有效。

谢谢

国王王

你不能把它EventSetter放在普通的里面Trigger看起来EventSetter只能在内部使用Style.Setters(不能使用Trigger.Setters),请参见此处,在“备注”部分的最后一行

在这种情况下,我认为您不需要动态更改处理程序,只需挂接事件一次即可所以放在EventSetter里面Style.Setters同样,最适合您的事件是MouseEnter,而不是PreviewMouseMove

<Style TargetType="DataGridRow">
   <EventSetter Event="MouseEnter" Handler="Row_MouseEnter"/>
</Style>

后面的代码

private void Row_MouseEnter(object sender, MouseEventArgs e){
   //put your code here to set the ToolTip for each row
   //Here I just set the ToolTip to the index of the row
   var row = e.Source as DataGridRow;
   row.ToolTip = row.GetIndex().ToString();
}

另一个解决方案是命名您的名称,DataGrid以便我们可以在后面的代码中引用它。然后为事件添加处理程序LoadingRow您可以在此处为每一行设置工具提示:

//inside the Window constructor after IntializeComponent()
dataGrid1.LoadingRow += (s,e) => {
    e.Row.Tooltip = e.Row.GetIndex().ToString(); 
};

另外,您应该考虑使用“绑定”来设置工具提示。这样,您需要一个合适的ViewModel。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF DataGridRow IsSelected触发器

来自分类Dev

WPF DataGridRow在触发时更改子控件的属性

来自分类Dev

从 ItemsControl (WPF MVVM) 触发事件

来自分类Dev

WPF ContentRendered 事件未触发?

来自分类Dev

C#-WPF-画布上的Mousemove事件将重载鼠标事件,因此不会触发click事件

来自分类Dev

从WPF DataGridRow获取项目

来自分类Dev

WPF:DataGridRow IsMouseOver True触发器应在完整行上设置背景,并暂时禁用在单个单元格上设置的背景

来自分类Dev

在WPF样式上按比例放大MouseOver

来自分类Dev

WPF TextBox在MouseOver上显示Caret

来自分类Dev

在WPF中从View触发事件到ViewModel

来自分类Dev

在事件触发WPF之前禁用网格

来自分类Dev

WPF WebBrowser控件-未触发“导航”事件

来自分类Dev

WPF UserControl.Loaded事件不会触发

来自分类Dev

WPF图片的gotfocus / lostfocus事件未触发

来自分类Dev

动态添加WPF按钮:事件不触发

来自分类Dev

WPF CheckBox取消检查事件未触发

来自分类Dev

WPF按钮不触发单击事件

来自分类Dev

WPF鼠标按下事件不会触发

来自分类Dev

WPF图片的gotfocus / lostfocus事件未触发

来自分类Dev

WPF CheckBox取消检查事件未触发

来自分类Dev

WPF TextBox 事件 TextChanged PreviewTextInput 不会触发

来自分类Dev

WPF 事件触发器添加 BlurEffect

来自分类Dev

WPF TextBox lostFocus 事件触发器

来自分类Dev

WPF - 触发事件不起作用

来自分类Dev

WPF - 如何为 ComboBox 触发 MouseLeftButtonUp 事件?

来自分类Dev

WPF 中的事件触发器

来自分类Dev

WPF禁用DatagridRow和ContextMenu

来自分类Dev

为WPF DataGridRow编写EventTrigger

来自分类Dev

为WPF DataGridRow编写EventTrigger