



























今天在论坛上看到一个人想实现这样的一个功能:
1. 在datagrid空间里有很多行很多列。
2. 其中的一列有两个空间: button和image
3. 默认情况下,显示Button,如果当鼠标Hover该行的时候,则显示图片,隐藏button;当鼠标离开的时候,就隐藏图片,显示button.
下面是datagrid的 xaml代码:
datagrid
如果有实现鼠标的操作,需要用到datagrid两个事件 :MouseEnter 、MouseLeave 。
这两个事件需要在datagrid的rowloading事件里面注册:
注册鼠标的事件
事件
然后根据鼠标的操作,使用VisualTreeHelper 找到datagrid的controlTemplate中的控件,然后显示或隐藏他们:
控件的显示/隐藏
由于图片 和button控件的高度的差别,在从图片切换到Button的时候,发现datagrid的行变得比较高,没有自适应高度。所以需要在MouseEnter 、MouseLeave 事件中,手动的设置行高。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。