我有一个MetroWindow用于主窗口。在它里面有一个控件(x),里面有另一个控件(y)。 y控件有一个DataGrid,在MouseDoubleClick上设置了一个事件。
<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 :(得分:2)
您应该覆盖RowStyle
而不是设置ItemContainerStyle
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}"
BasedOn="{StaticResource MetroDataGridRow}">
<EventSetter Event="MouseDoubleClick"
Handler="ProdottiGridRow_Click" />
</Style>
</DataGrid.RowStyle>
希望有所帮助!