MVVM示例步调

[复制链接]
发表于 2026-2-21 13:13:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次
一 界说可关照属性
二 界说前端并绑定
三 运行结果

一 界说可关照属性

  1. internal class MainViewModel : ObservableObject
  2. {
  3.      /// <summary>
  4.      /// 供前端的Command命令Binding调用
  5.      /// </summary>
  6.      public RelayCommand ShowCommand { get; set; }
  7.      public MainViewModel()
  8.      {
  9.          ShowCommand = new RelayCommand(Show);
  10.      }
  11.      private string name;
  12.      public string Name
  13.      {
  14.          get { return name; }
  15.          set { name = value; OnPropertyChanged(); }
  16.      }
  17.      private string title;
  18.      public string Title
  19.      {
  20.          get { return title; }
  21.          set { title = value; OnPropertyChanged(); }
  22.      }
  23.      public void Show()
  24.      {
  25.          Title = "你点击了按钮 this is Title";
  26.          Name = "你点击了按钮  this is Name";
  27.          MessageBox.Show(Name);
  28.          WeakReferenceMessenger.Default.Send<string, string>(Title, "Token1");
  29.      }
  30. }
复制代码


二 界说前端并绑定

  1. <Window x:Class="ToolKitMVVMTest.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5.         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6.         xmlns:local="clr-namespace:ToolKitMVVMTest"
  7.         mc:Ignorable="d"
  8.         Title="MainWindow" Height="450" Width="800">
  9.     <Grid>
  10.         <TextBox HorizontalAlignment="Left" Margin="145,52,0,0" TextWrapping="Wrap" Text="{Binding Name}" VerticalAlignment="Top" Width="517" Height="189"/>
  11.         <Button Content="Button" HorizontalAlignment="Left" Margin="245,294,0,0" VerticalAlignment="Top" Height="72" Width="278" Command="{Binding ShowCommand}"/>
  12.     </Grid>
  13. </Window>
复制代码
  1. /// <summary>
  2. /// Interaction logic for MainWindow.xaml
  3. /// </summary>
  4. public partial class MainWindow : Window
  5. {
  6.      public MainWindow()
  7.      {
  8.          InitializeComponent();
  9.          this.DataContext = new MainViewModel();
  10.          WeakReferenceMessenger.Default.Register<string, string>(this, "Token1", (s, val) =>
  11.          {
  12.              MessageBox.Show(val);
  13.          });
  14.      }
  15. }
复制代码

三 运行结果




回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表