gpt4 book ai didi

c# - WP8 XAML DataTrigger CallMethodAction 用于从代码后面调用方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:51 24 4
gpt4 key购买 nike

我有一个列表选择器元素,我需要在列表选择器“关闭”或返回其正常状态时运行一个方法。我的 xaml 看起来像这样:

<i:Interaction.Triggers>
<exp:DataTrigger Binding="{Binding ListPickerMode, ElementName=ListPickerAssembly}" Value="Normal">

现在我需要从后面的代码中调用一个方法。我想搜索的所有内容的前 3 页都有紫色链接。

我看到有一个:

<exp:CallMethodAction

标签看起来可以工作,但我不知道如何使用它。

如有任何帮助,我们将不胜感激。

更新

开始工作了。在我的 .cs 中,我添加到我的构造函数中:

DataContext = this;

在我的 XAML 中,我添加了:

x:Name="Page"

然后在我的数据触发器中添加:

<exp:CallMethodAction TargetObject="{Binding DataContext, ElementName=Page}" MethodName="Fire" />

它现在调用该方法。

最佳答案

CallMethodAction 使用 TargetObjectMethodName 属性来确定调用哪个方法。如果你想以代码隐藏方法为目标,那么“TargetObject”必须是你的控件/页面/任何东西的根。如果它是模板化控件,则使用

<exp:CallMethodAction TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}"
MethodName="MethodToInvoke" />

如果它是一个页面/控件,那么可以使用 ElementName 绑定(bind)(我不是 100% 确定这是否真的有效,但请尝试...)

<phone:Page 
x:Name="page" ...

<exp:CallMethodAction TargetObject="{Binding ElementName=page}"
MethodName="MethodToInvoke" />

然后,只需确保您的方法是公开的(在这方面它与使用事件处理程序不同)。

public void MethodToInvoke() { ... }

关于c# - WP8 XAML DataTrigger CallMethodAction 用于从代码后面调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22108008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com