小编vol*_*tac的帖子

在 MVVM 中创建静态 viewModel 是正确的方法吗?

也许这是一个简单的问题,但不幸的是我找不到明确的答案。创建静态 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)

c# wpf mvvm

-3
推荐指数
1
解决办法
2138
查看次数

标签 统计

c# ×1

mvvm ×1

wpf ×1