WPF Mahapps:UserControl不会触发事件
问题描述:
我有一个用于主窗口的MetroWindow。里面有一个控件(x),里面有另一个控件(y)。 y控件有一个DataGrid,在MouseDoubleClick上设置了一个事件。WPF Mahapps:UserControl不会触发事件
<DataGrid IsReadOnly="True" AutoGenerateColumns="False" >
<DataGrid.ItemContainerStyle>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="ProdottiGridRow_Click"/>
</Style>
</DataGrid.ItemContainerStyle>
<DataGrid.Columns> ...
该事件不起作用(未触发),不引发异常。 使用正常的窗口(代替MetroWindow)代码正常工作! 在MetroWindow中插入UserControl是否有特定的规则?
答
应覆盖RowStyle
并没有设置ItemContainerStyle
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}"
BasedOn="{StaticResource MetroDataGridRow}">
<EventSetter Event="MouseDoubleClick"
Handler="ProdottiGridRow_Click" />
</Style>
</DataGrid.RowStyle>
希望帮助!
+0
是的,它的工作原理。但我不明白其中的差别。在阅读关于stackoverflow的讨论后,我使用了以前的解决方案。谢谢@punker。 – Marco 2014-12-05 10:20:47
下载最新版MahApps。他们修复了一些与MetroWindow中的Hit测试相关的错误。这可能会帮助你。 – Jawahar 2014-12-04 10:43:05
谢谢@XAMLLover。我有v 1.0.0。有GitHub v 1.0.1,但此时是Alpha。 – Marco 2014-12-04 10:57:27
由于事件不通过可视化树,所以您可以尝试DataGrid上的MouseDoubleClick(而不是dataGridRow)并处理选定的行。 – deafjeff 2014-12-04 11:24:16