WPF Mahapps:UserControl不会触发事件

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是否有特定的规则?

+0

下载最新版MahApps。他们修复了一些与MetroWindow中的Hit测试相关的错误。这可能会帮助你。 – Jawahar 2014-12-04 10:43:05

+0

谢谢@XAMLLover。我有v 1.0.0。有GitHub v 1.0.1,但此时是Alpha。 – Marco 2014-12-04 10:57:27

+0

由于事件不通过可视化树,所以您可以尝试DataGrid上的MouseDoubleClick(而不是dataGridRow)并处理选定的行。 – deafjeff 2014-12-04 11:24:16

应覆盖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