Я создал пользовательский элемент управления (столбец Добавить / Вычесть на рисунке) и поместил его в DataGridTemplateColumn элемента управления DataGrid:
<DataGridTextColumn Binding="{Binding Count}" Header="Count" Width="60"/>
<DataGridTemplateColumn Width="90" Header="Add/Substract">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<controls:AddSubtractControl HorizontalAlignment="Center" AddSubtractEvent="AddSubtractClick" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Основной задачей моего пользовательского элемента управления является, конечно, добавление / вычитание некоторого значения к фактическому значению, расположенному в столбце «Count».
Когда пользователь нажимает кнопку «add», элемент управления вызывает некоторое событие с введенным значением:
private void AddClick(object sender, MouseButtonEventArgs e)
{
AddSubstractEvent(int.Parse(countBox.Text), e);
}
Когда я нажимаю кнопку «добавить» или «вычесть» перед методом AddClick, в некоторых неизвестных случаях сначала вызывается конструктор этого элемента управления.Таким образом, countBox.Text имеет значение по умолчанию, которое не вводится до нажатия кнопки «Добавить».
Как решить эту проблему?Спасибо за любую помощь.