我有一個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