我有一个Silverlight中的数据网格,其中包含一个按钮的模板列。在XAML基本上是这样的 - 现在防止Silverlight的datagrid选择从点击按钮点击改变?
<sdk:DataGrid ItemsSource="{Binding Items}" SelectedItem="{Binding Selected, Mode=TwoWay}">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button HorizontalAlignment="Right" Click="btn_Click">
<StackPanel Orientation="Horizontal">
<Image Source="/image.png"/>
</StackPanel>
</Button>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<!-- Ten Other Columns -->
</sdk:DataGrid.Columns>
</sdk:DataGrid>
,在此设置,只要单击该按钮(无论是否被选中该行的btn_Click事件触发罚款一切都很好,直到我添加了一个SelectionChanged事件。到DataGrid XAML的第一行现在是这样的 -
<sdk:DataGrid ItemsSource="{Binding Items}" SelectedItem="{Binding Selected, Mode=TwoWay}" SelectionChanged="dg_SelectionChanged">
现在btn_Click事件将仅被点击的按钮是当前选中的行。否则只触发SelectionChanged事件,永不火灾。得到按钮点击。我知道selectionchanged事件触发,因为你显然在切换选中的行我不明白的是为什么btn_Click从未被击中。任何人都有想法,为什么这是以及如何解决它?
在此先感谢。
谢谢。这并不是我们的问题,但是一旦我弄清楚了问题所在,这很有帮助,因为我遇到了这个问题。 – Spencer 2011-04-13 12:35:37