也许这是一个简单的问题,但不幸的是我找不到明确的答案。创建静态 viewModel 或在静态类中创建 ViewModel 并在不同的地方使用它是正确的方法吗?
例如,我想在我的一个屏幕上显示串行通信的数据。
为了避免复杂性,我创建了一个类似于我自己的项目的简单示例。串行通信开始,我创建了一个场景,就好像有连续的数据流一样。
以下数据绑定正确吗?如果不是,正确的做法应该是怎样的?
预先感谢您的帮助。
主窗口.xaml
<Grid>
<StackPanel>
<Button Command="{Binding ButtonCommandEvent}" Content="Click"/>
<TextBox Text="{Binding Counter}"/>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
主窗口.cs
public MainWindow()
{
InitializeComponent();
DataContext = Globals.mainWindowViewModel;
}
Run Code Online (Sandbox Code Playgroud)
主窗口视图模型
public class MainWindowViewModel : ViewModelBase
{
private int _counter;
public int Counter
{
get => _counter;
set => SetProperty(ref _counter, value);
}
Communication communication = new Communication();
public RelayCommand ButtonCommandEvent { get; set; }
public MainWindowViewModel()
{
ButtonCommandEvent = new RelayCommand(ButtonEventClick);
}
private void ButtonEventClick(object param)
{
communication.Serial_Connect();
} …Run Code Online (Sandbox Code Playgroud)