Я использую vanil datepicker в Silverlight 2. Я привязываю выбранную дату к значению, и когда это значение изменяется, я вывожу сообщение, чтобы подтвердить, что они хотели бы изменить значение.Messagebox Popup to Confirm Datepicker Issue
Странное поведение возникает, когда я использую сообщение непосредственно после изменения значения даты. Всплывающее окно datepicker не будет закрываться, и если вы нажмете над календарем, он выберет дату, не нажимая мышью.
Кроме того, после этого это, похоже, влияет на привязки и не может снова установить свойство модели представления, пока страница не будет перезагружена.
Эта проблема довольно специфична, поэтому я прикрепил урезанный пример. Выберите дату и нажмите ОК, затем переместите указатель мыши на календарь, чтобы воспроизвести это.
Мой XAML -
<Grid x:Name="LayoutRoot">
<controls:DatePicker x:Name="dpTest"
Height="25"
Width="75"
SelectedDateChanged="DatePicker_SelectedDateChanged" />
</Grid>
Мой код позади -
Private Sub DatePicker_SelectedDateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs)
MessageBox.Show("Test Popup")
End Sub
Любые идеи или обходные пути?
Комбинация ваших двух предложений выше меня достала. Если вы нажмете вызов MessageBox на диспетчер, это не решит проблему. Если вы поместите дочернее окно, похожее на этот блог, описано: http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04/29/silverlight-3-s-new-child-windows .aspx Вы обнаружите, что у вас будет аналогичная проблема, как если бы вы нажали MessageBox. Однако! Если вы поместите дочернее окно в диспетчер, все будет хорошо. Спасибо за помощь. – Wilson