Я пытаюсь связать WPF. Я написал небольшое приложение, но у меня проблема, мой пользовательский интерфейс не обновляется. Вот мой код:Почему интерфейс не обновляется (WPF)?
<Grid>
<Button Content="Button" HorizontalAlignment="Left" Margin="345,258,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<TextBox x:Name="text" HorizontalAlignment="Left" Height="23" Margin="75,165,0,0" TextWrapping="Wrap" Text="{Binding Path=Count}" VerticalAlignment="Top" Width="311"/>
</Grid>
И фоновый код:
namespace WpfApplication1
{
public partial class MainWindow : Window
{
MyClass mc;
public MainWindow()
{
InitializeComponent();
mc = new MyClass(this.Dispatcher);
text.DataContext = mc;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Task task = new Task(() =>
{
mc.StartCounting();
});
task.ContinueWith((previousTask) =>
{
},
TaskScheduler.FromCurrentSynchronizationContext());
task.Start();
}
}
public class MyClass
{
public int Count { get; set; }
public Dispatcher MainWindowDispatcher;
public MyClass(Dispatcher mainWindowDispatcher)
{
MainWindowDispatcher = mainWindowDispatcher;
}
public void StartCounting()
{
while (Count != 3)
{
MainWindowDispatcher.Invoke(() =>
{
Count++;
});
}
}
}
}
чем проблема. И я написал это правильно, есть ли лучшие способы сделать это?
'MyClass' необходимо реализовать' INotifyPropertyChanged' –
возможный дубликат [Переход от Windows Forms в WPF] (http://stackoverflow.com/questions/15681352/transition ing-from-windows-forms-to-wpf) –