2012-06-14 46 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

相關問題