WPF | 跟着视频敲代码10 | WPF框架(Microsoft.Toolkit.Mvvm)
作者:互联网
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"); } } }
标签:10,Mvvm,Title,Toolkit,public,using,WPF,Microsoft 来源: https://www.cnblogs.com/dongxizhen/p/16492686.html