• [WPF] 附加属性、行为(Behavior)触发方法(下)


    上一节我们使用的是一个扩展方法来实现我们的要求

    那么现在我们使用Behavior 来实现这种功能

    首先我们需要在View中引用Behavior的 namespace

    xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
    

    然后我们创建该Behavior的触发方式

     <b:Interaction.Triggers>
            <b:EventTrigger EventName="Loaded">
                <b:CallMethodAction
                    MethodName="Load"
                    TargetObject="{Binding}" />
            </b:EventTrigger>
      </b:Interaction.Triggers>
      <Grid/>
    

    如上面代码所示,我们使用一个触发器来触发。

    这种工作方式是事件触发器将监视指定事件在视图中触发,然后我们将调用包含在子元素中的Behavior。

    我们将事件触发器正在监视的事件切换为“Loaded” ,因为这是我们要使用的事件,现在,在 CallMethodAction 行为上,

    它需要知道它将调用什么。

    因此,目标对象有一个属性(TargetObject),我们可以将其设置为Binding,相当于将目标设置为当前的View ,表示绑定将产生对整个数据上下文的引用,这是我们在 mvvm中 的 ViewModel。

    然后有一个单独的方法名称属性,我们可以将其设置为我们需要触发的 Load 方法。

    这实现了 与附加行为相同的功能。

    它使我们可以有效地指向视图模型(ViewModel) 上的方法,并声明在加载事件触发时应调用该方法。

  • 相关阅读:
    OO实现ALV-SALV-实战攻略3-2-ALV工具栏自定义按钮展示方式
    OO实现ALV-SALV-实战攻略3-1-ALV工具栏按钮展示方式
    关于springboot开发的总结
    WEB端第三方登陆接入
    WEB端第三方登陆接入
    WEB端第三方支付接入
    WEB端第三方支付接入
    ABAP-HTML-MAIL
    ABAP-Logs-SLGD
    ABAP-Dynamic-Internal table
  • 原文地址:https://www.cnblogs.com/ganbei/p/15631446.html
Copyright © 2020-2023  润新知