我已经创建了自定义控件(图片上的“添加/减去”列)并将其放入DataGrid控件的DataGridTemplateColumn中:
<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>
我的自定义控件的主要任务当然是在“计数”列上的实际值上添加/减去一些值。
当用户单击“添加”按钮时,控件将调用具有输入值的某个事件:
private void AddClick(object sender, MouseButtonEventArgs e)
{
AddSubstractEvent(int.Parse(countBox.Text), e);
}
当我单击“添加”或“减”按钮时,在AddClick方法之前,在某些未知情况下,将首先调用此控件的构造函数。因此countBox.Text具有默认值,在单击“添加”按钮之前不会输入。
如何处理此问题? 感谢您的帮助。
答案 0 :(得分:0)
由于这是一个控件,因此其行为应类似于控件。例如,文本框具有您将绑定的文本依赖项属性。
您应该具有一个依赖项属性,然后可以将其绑定到该值。 也许应该是整数,所以应该是整数类型。
内部。
您的文本框绑定到该dp。
您的+和-按钮增加和减少控件dp的当前值。