我正在使用 Silverlight 5,在视图中我有一个 Button,单击该按钮会加载特定状态。这是使用 EventTrigger 和 GoToStateAction 标记完成的,如下所示:
<Button x:Name="..." Content="...">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:GoToStateAction StateName="MyState"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
以上工作正常,但如果我将 Button 移动到 DataGridTemplateColumn 它不再工作。具体来说,应用程序编译没有错误,DataGrid 在一列中显示按钮,但是当我单击按钮时,状态不会转换到。
<data:DataGrid ...>
<data:DataGrid.Columns>
<data:DataGridTemplateColumn>
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="..." Content="...">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:GoToStateAction StateName="MyState"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
DataGridTemplateColumn 中不可能有 EventTriggers 吗?还是我需要使用替代语法声明它们?
谢谢