WPF | 跟着视频敲代码10 | WPF框架(Microsoft.Toolkit.Mvvm)
Posted on 2022-07-19 08:20 董锡振 阅读(273) 评论(0) 编辑 收藏 举报https://www.bilibili.com/video/BV1nY411a7T8?p=10
<Window x:Class="WPF04.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WPF04" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <StackPanel Orientation="Horizontal"> <TextBox Text="{Binding Name}" Height="20" Width="200"></TextBox> <Button Command="{Binding ShowCommand}" Height="20" Width="60" Content="测试点击"></Button> </StackPanel> </Grid> </Window>
using Microsoft.Toolkit.Mvvm.Messaging; using System.Windows; namespace WPF04 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.DataContext = new MainViewModel(); WeakReferenceMessenger.Default.Register<string, string>(this, "Token1", (s, val) => { MessageBox.Show(val); }); } } }
using Microsoft.Toolkit.Mvvm.ComponentModel; using Microsoft.Toolkit.Mvvm.Input; using Microsoft.Toolkit.Mvvm.Messaging; using System.Windows; namespace WPF04 { public class MainViewModel : ObservableObject { /// <summary> /// 供前端的Command命令Binding调用 /// </summary> public RelayCommand ShowCommand { get; set; } public MainViewModel() { ShowCommand = new RelayCommand(Show); } private string name; public string Name { get { return name; } set { name = value; OnPropertyChanged(); } } private string title; public string Title { get { return title; } set { title = value; OnPropertyChanged(); } } public void Show() { Title = "你点击了按钮 this is Title"; Name = "你点击了按钮 this is Name"; MessageBox.Show(Name); WeakReferenceMessenger.Default.Send<string, string>(Title, "Token1"); } } }
本文来自博客园,作者:董锡振,转载请注明原文链接:https://www.cnblogs.com/dongxizhen/p/16492686.html