我使用Silverlight控件工具包中的NumericUpDown控件,它有時會在一次更新中雙擊ValueChanging事件(單擊上一個或下一個按鈕)。有沒有人知道這種行爲的任何workarround?Silverlight NumericUpDown ValueChanging兩次觸發
更多信息:
我有下面的XAML代碼:
<StackPanel>
<toolkit:NumericUpDown Name="numericUpDown1"
Width="35"
Minimum="0"
Maximum="3"
ValueChanging="valueChanging" />
<toolkit:NumericUpDown Name="numericUpDown2"
Width="35"
Minimum="0"
Maximum="3"
ValueChanging="valueChanging" />
<toolkit:NumericUpDown Name="numericUpDown3"
Width="35"
Minimum="0"
Maximum="3"
ValueChanging="valueChanging" />
</StackPanel>
和代碼的事件:
private void valueChanging(object sender, RoutedPropertyChangingEventArgs<double> e)
{
if (numericUpDown1.Value + numericUpDown2.Value + numericUpDown3.Value > 3)
{
e.Cancel = true;
MessageBox.Show("No more than 3 in total");
}
}
的錯誤出現不是所有的時間,但有些時候該事件被激發兩次,並且即使當我剛剛總共有3 ... (即並非所有時間都發生)時,警報也會出現: 增加到2第一個,然後到第二個,第一個到第三個。顯示一條消息並且它是正確的。將firt降低到1,並且如果將第三個增加到1,則會觸發該消息,因爲事件被兩次觸發......(再次,並非所有這一切都發生)
我無法重現此問題,您能否提供更多詳細信息。 – AnthonyWJones 2011-03-11 09:31:13
信息擴展與更多的信息,在此先感謝。 – KodiakMx 2011-03-11 18:27:32
感謝安東尼爲那個版本:) – KodiakMx 2011-03-11 19:17:05