编辑:我想将文本块的值更新为在另一个类上定期生成的随机变量的值。将文本块更新为WPF中变量的值
我的实现阻止了应用程序中的其他功能(按钮)。任何建议?
public partial class MainWindow : Window
{
TaskViewModel viewModel = new TaskViewModel();
public MainWindow()
{
this.DataContext = viewModel;
InitializeComponent();
Server_V2.AsyncService.runMain();
DisplayAV();
}
//Display Availability
private async void DisplayAV() {
while (true) {
//availabilityField.Text = Server_V2.AV.ToString();
viewModel.Availability = Server_V2.AV.ToString();
await Task.Delay(500);
}
}
public class TaskViewModel : INotifyPropertyChanged
{
private string availabilty = "0";
public string Availability
{
get { return availabilty; }
set { availabilty = value; OnStaticPropertyChanged();}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnStaticPropertyChanged([CallerMemberName] string PropertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(PropertyName));
}
}
您应该添加什么你都试过(代码)的答案。即使它没有运行。如果不付出努力,你将不会得到社区的帮助。 – Ben
我可以看看你试过了吗?你还指什么其他实现?你能告诉我这个班级以及你如何访问这些变量吗?你是否在使用事件,因为它会定期更新?一个计时器可能? –
如果'AV'的意思是类Server_V2中的静态属性,请按照此答案中给出的说明进行操作:https://stackoverflow.com/a/34763286/1136211 – Clemens