2012-06-14 43 views
0

我正在使用样式来定义预定义控件的模板。该控件是我无法修改的框架的一部分。此控件有DataGrid,为此我想添加一个MouseDoubleClick事件。事件处理程序(HandleGridDoubleClick)已经在框架中指定。XAML有没有办法将事件绑定到使用样式的方法?

有没有办法绑定到这个方法?我明白,如果框架为此提供了一个命令,将会很容易。

<Style 
    TargetType="xyz:FileMessageControl"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate 
       TargetType="xyz:FileMessageControl"> 
        <Grid> 
        ..... 
         <DataGrid MouseDoubleClick = HandleGridDoubleClick> 
         ..... 
         </DataGrid> 
        </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

回答

1

尝试是这样的(你需要使用互动DLL)

<i:Interaction.Triggers>        
    <i:EventTrigger EventName="MouseDoubleClick"> 
     <action:ExecuteCommandAction Command="{Binding DataContext.HandleGridDoubleClick}" /> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 
+0

谢谢,这似乎是做到这一点的最好办法,但不幸的是我刚才注意到,该方法被设置为私人。在这种情况下,我猜这是行不通的。 – archana29

相关问题