WPF基础入门-Class7-WPF-MVVN框架

WPF基础入门

Class7-MVVN框架

使用框架可以省掉如Class6中的ViewModelBase.csOnPropertyChanged,亦方便命令传参

1、NuGet安装CommunityToolkit.Mvvm(原Mircrosoft.Toolkit.Mvvm)也可以安装MVVMLight等其他集成库

2、显示页面:

html 复制代码
    <Grid>
        <StackPanel>
            <TextBox x:Name="input" Text="{Binding Name}"></TextBox>
            <TextBox Text="{Binding Title}"></TextBox>
            <!--CommandParameter传参到命令中-->
            <Button
                Command="{Binding ShowCommand}"
                CommandParameter="{Binding ElementName=input, Path=Text}">Button</Button>
        </StackPanel>
    </Grid>

2、model文件:

csharp 复制代码
class model_csdn : ObservableObject
    {
        public model_csdn()
        {
            Name = "Ini_name";
            Title = "点击后变成Name内容";
            ShowCommand = new RelayCommand<string>(show);
        }

        //public MyCommamd ShowCommand { get; set; }
        public RelayCommand<string> ShowCommand { get; set; }
        public string name;
        public string title;

        public string Name
        {
            get { return name; }
            set
            {
                name = value;
                OnPropertyChanged();
            }
        }
        public string Title
        {
            get { return title; }
            set
            {
                title = value;
                OnPropertyChanged();
            }
        }

        public void show(string value)
        {
            Name = "change name";
            Title = value;
            MessageBox.Show("value");
        }
    }

3、显示效果:

相关推荐
Wang's Blog20 小时前
AI Agent白手起家60: 多智能体架构解析与 LangGraph 入门
人工智能·架构·wpf
.Peter1 天前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi
dalong102 天前
WPF:3D型材模型
3d·wpf
一念春风2 天前
文件透明加密(C、C#)
c语言·c#·wpf
yanaiding4 天前
C# WPF 独立开发看图工具 PixSight 经验介绍(二)—— 水印模块开发实录
图像处理·c#·wpf·个人开发
我是苏苏6 天前
WPF开发01:基础控件及常用模板篇
开发语言·c#·html·wpf
dalong107 天前
WPF:3D顶点共享与法线设置对光照效果的影响
3d·wpf
柔蘭7 天前
WPF中的CommunityToolkit.Mvvm框架
wpf
aGdF8E3gQ8 天前
【Application Insights】采样率对Function App日志收集的影响和解决方法
python·flask·wpf
程序员-Benothing8 天前
如何实现高并发系统订单30分钟自动关闭?
开发语言·c#·wpf