У меня есть простая страница с кнопкой и надписью на ней. Когда я нажимаю кнопку, я хочу, чтобы текст ярлыка обновлялся, я скопировал код с hereUpdateLayout на WPF нажмите
Однако, когда я использую следующий пример. Текст не обновляется до завершения функции. Есть идеи. Окно Windows WPF С кнопкой и меткой упал на нее.
У меня есть следующее в коде, когда кнопка нажата, и первое сообщение никогда не отображается.
Thread.Sleep - означает вытягивание данных из базы данных для возврата к экрану, это может занять от 3 до 30 секунд, поэтому я хочу заставить его работать, чтобы показать пользователю что-то.
Любые идеи ???
using System.Threading;
using System.Windows;
using System.Windows.Threading;
namespace NetSpot.RESV4.Presentation
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
label1.Content = "Button 1 Clicked";
ForceUIToUpdate();
Thread.Sleep(4000);
label1.Content = "button 1 Updated";
}
public static void ForceUIToUpdate()
{
DispatcherFrame frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Render, new DespatcherOperationCallback(delegate(object parameter)
{
frame.Continue = false;
return null;
}), null);
Dispatcher.PushFrame(frame);
}
}
}
Есть ли конкретная причина, чтобы не использовать связанное свойство, и INotifyPropertyChanged? Если нет, это кажется менее сложным, чем диспетчер. – ianschol