У меня есть сетка данных в Silverlight, в которой есть столбец шаблона, содержащий кнопку.В XAML выглядит примерно так:
<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 для сетки данных. Первая строка XAML теперь такова -
<sdk:DataGrid ItemsSource="{Binding Items}" SelectedItem="{Binding Selected, Mode=TwoWay}" SelectionChanged="dg_SelectionChanged">
Теперь событие btn_Click будет срабатывать только в том случае, если кнопка, по которой вы щелкнули, находится в текущей выбранной строке.только, и никогда не доходит до нажатия кнопки. Выстрел события, измененного выбором, я понимаю, потому что вы, очевидно, переключаете выбранную строку. Но я не понимаю, почему btn_Click никогда не срабатывает. У всех есть идеи о том, почему и какчтобы обойти это?
Заранее спасибо.