zoukankan      html  css  js  c++  java
  • WPF Caliburn 学习笔记(二)Command(2)

    首先解决上一篇博客未解决的问题。上次博客中还有一种命令(BoundCommad)没讲到。

    命令源还是不变的。变得是:我们对命令源封装成属性:

    命令源ShowMessageCommand:

    代码

    新建一个MainModel类,对ShowMessageCommand封装成属性。

     public class MainModel
        {
           private readonly ShowMessageCommand _myCommand = new ShowMessageCommand();
    
           public ShowMessageCommand MyCommand
           {
               get { return _myCommand; }
           }
        }
    

    xaml:

    <Window.DataContext>
        <local:MainModel />
    </Window.DataContext>
    <StackPanel>
        <TextBox Name="message" Width="200" />
        <Button Content="BoundCommand" 
         cal:Message.Attach="BoundCommand MyCommand(message.Text)"/>
    </StackPanel>
    这里注意是DataContent。DataContext与Resource的区别是
    DataContext一般用于绑定数据,相当于数据源。
    Resource一般用于对资源的引用,比如 StaticResource,DynamicResource等。
    运行效果:
    image

    CompositeCommands

    Caliburn中的命令还有层次关系。

    还是用原来的资源。稍作修改。

    App.xaml.cs

    代码

    这里用到了注入容器来实现命令。

    ShowTitleMessageCommand.cs类

     

    代码

  • 相关阅读:
    [恢]hdu 2116
    [恢]hdu 1203
    [恢]hdu 1181
    [恢]hdu 1280
    [恢]hdu 1250
    [恢]hdu 1215
    [恢]hdu 1237
    [恢]hdu 1276
    PowerShell yarn : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\yarn.ps1,因为在此系统因为在此系统上禁止运行脚本。
    vue : 无法加载文件 C:\Users\1111111\AppData\Roaming\npm\vue.ps1,因为在此系统禁止运行脚本
  • 原文地址:https://www.cnblogs.com/dingli/p/1984398.html
Copyright © 2011-2022 走看看