Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wpf鼠标悬停网格行第一个元素_Wpf_Grid_Row - Fatal编程技术网

wpf鼠标悬停网格行第一个元素

wpf鼠标悬停网格行第一个元素,wpf,grid,row,Wpf,Grid,Row,当我将鼠标悬停在网格(items控件的模板)上时,是否可以更改行中第一列和最后一列(我正在悬停的这一特定行)的字体颜色 我想要的是,当我们悬停“父”行时,“行编号”对象更改字体颜色。以使该行文本更简洁 把它想象成一张桌子: 其中o只是一个座位,数字是行号,当我将鼠标悬停在“o”上时,我想更改行号字体的颜色。我希望我所尝试的很清楚,我已经将xaml剥离到了最低限度。如果可能的话,我们也希望通过xaml来完成这项工作,而不是通过代码。当我将鼠标悬停在第二行的“o”上时,下面是一个示例 1 | o |

当我将鼠标悬停在网格(items控件的模板)上时,是否可以更改行中第一列和最后一列(我正在悬停的这一特定行)的字体颜色

我想要的是,当我们悬停“父”行时,“行编号”对象更改字体颜色。以使该行文本更简洁

把它想象成一张桌子: 其中o只是一个座位,数字是行号,当我将鼠标悬停在“o”上时,我想更改行号字体的颜色。我希望我所尝试的很清楚,我已经将xaml剥离到了最低限度。如果可能的话,我们也希望通过xaml来完成这项工作,而不是通过代码。当我将鼠标悬停在第二行的“o”上时,下面是一个示例

1 | o | o | o | 1

2o | o | o | o | o |2

3 | o | o | o | 3


我认为您使用了错误的控件类型。当您希望WPF为您处理控件的布局时,WPF布局控件(如网格等)非常有用。但是,在您的情况下,布局已经通过RowEx/ColumnEx属性隐式地存在于数据结构中。您试图做的是将复杂的布局需求转换成一个并非专门为其设计的布局控件。您以前已经遇到过这样的问题,这就需要使用GridHelper。情况可能不会好转

我以编写航空公司登记系统为生,发现自己实现的系统与您一直在做的非常相似。经验告诉我,在这种情况下,使用画布通常会更好。它确实需要您免费添加现有控件提供的许多功能(例如,行特定行为,这是DataSet更擅长处理的),但它将为您的布局和行为提供完全的灵活性,并且也将更容易进行单元测试


不过,为了回答您的问题,您可以创建一个名为
Row
的新类,该类的透明背景覆盖所有列。绑定该控件的MouseEnter/MouseLeave事件以更新
中的本地属性,并在这些属性设置器中,让它们在该行中显示的两个
行编号
实例中设置/清除高亮标记。或者,
行编号
的每个实例可以包含一个指向其对应的
实例的属性,您可以设置一个DataTrigger来触发该实例。

我担心会出现类似的情况。我不确定是这样创建它,还是在画布上手动绘制所有内容。看来我选错了路。而且,以我的方式完成时的性能也不是很好。我将不得不重新考虑,因为现在我拥有了所有真正需要的东西。但我想我必须重写它。谢谢你的帮助