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、显示效果:

相关推荐
没有bug.的程序员18 小时前
SOA、微服务、分布式系统的区别与联系
java·jvm·微服务·架构·wpf·日志·gc
Macbethad18 小时前
基于WPF的半导体设备配方管理程序技术方案
wpf
FuckPatience19 小时前
WPF Geometry
wpf
武藤一雄2 天前
.NET 中常见计时器大全
microsoft·微软·c#·.net·wpf·.netcore
MarkHD2 天前
车辆TBOX科普 第70次 AUTOSAR Adaptive、容器化与云原生的融合革命
云原生·wpf
极客智造2 天前
WPF Behavior 实战:自定义 InvokeCommandAction 实现事件与命令解耦
wpf
L、2182 天前
Flutter 与 OpenHarmony 深度集成:构建分布式多端协同应用
分布式·flutter·wpf
布伦鸽2 天前
C# WPF -MaterialDesignTheme 找不到资源“xxx“问题记录
开发语言·c#·wpf
小二·2 天前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
helloworddm3 天前
UnregisterManyAsync
wpf