我在WPF项目中使用自定义NumericUpDown控件。他们每个人都有自己的方法分配给它的ValueChanged事件:
<eisiWare:NumericUpDown x:Name="AGradeUpDown" />
<eisiWare:NumericUpDown x:Name="BGradeUpDown" />
<eisiWare:NumericUpDown x:Name="CGradeUpDown" />
和代码隐藏:
public _2DEditor(string filename = null)
{
InitializeComponent();
AGradeUpDown.ValueChanged += AGradeUpDown_ValueChanged;
BGradeUpDown.ValueChanged += BGradeUpDown_ValueChanged;
CGradeUpDown.ValueChanged += CGradeUpDown_ValueChanged;
}
void CGradeUpDown_ValueChanged(object sender, RoutedEventArgs e)
{}
BGradeUpDown_ValueChanged(object sender, RoutedEventArgs e)
{}
void AGradeUpDown_ValueChanged(object sender, RoutedEventArgs e)
{}
但是无论这些控件中的哪一个都改变了它的值 - 总是只触发CGradeUpDown_ValueChanged函数,使用((eisiWare.NumericUpDown)发送者).Name值显示“CGradeUpDown”。
像这样分配ValueChanged事件:
<eisiWare:NumericUpDown x:Name="AGradeUpDown" ValueChanged="AGradeUpDown_ValueChanged" />
导致在加载时仅触发AGradeUpDown_ValueChanged一次,但从未更改实际值。 我做错了什么或者这里有什么问题?出于想法。 =(