Привет У меня есть проект wpf, который привязывает сетку данных к модулю следующим образом:
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" IsReadOnly="True"/>
<DataGridTemplateColumn Header="Values">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Values}" SelectedItem="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
Это работает отлично.Теперь я хочу добавить некоторые функции, включая настройку события в выпадающем списке SelectionChanged
.Таким образом, я изменил файл xaml
следующим образом:
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" IsReadOnly="True"/>
<DataGridTemplateColumn Header="Values">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Values}" SelectedItem="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
/!-- Add an EventSetter here. -->
<Style TargetType="{x:Type ComboBox}">
<EventSetter Event="SelectionChanged" Handler="ValueChanged" />
</Style>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
И добавил функцию в бэкэнд, например:
private void ValueChanged(object sender, SelectionChangedEventArgs e)
{
var comboBox = sender as ComboBox;
if (comboBox.SelectedItem != null)
{
//do something here.
}
}
Но это приводит к разбивке проекта с помощью error: "The Application is in break mode."
когда я изменил ячейку со списком.Так в чем может быть проблема?Заранее спасибо!