gpt4 book ai didi

c# - 我可以省略EventTrigger.Actions吗?

转载 作者:行者123 更新时间:2023-12-03 10:26:59 27 4
gpt4 key购买 nike

我将WPF与MVVM模式和 Prism 配合使用,并且使用InteractionRequests显示对话框。

当我定义InteractionTriggers及其 Action 时,我会这样定义它们:

<i:Interaction.Triggers>
[Other event triggers]
<i:EventTrigger EventName="Raised" SourceObject="{Binding SomeConfirmationInteractionRequest}">
<i:EventTrigger.Actions>
<windowActions:DialogWindowAction />
</i:EventTrigger.Actions>
</i:EventTrigger>
</i:Interaction.Triggers>

现在,我正在检查我的EventTriggers,并意识到,我缺少 <i:EventTrigger.Actions>内部的 <i:EventTrigger>标签之一:
<i:EventTrigger EventName="Raised" SourceObject="{Binding SomeConfirmationInteractionRequest}">
<windowActions:DialogWindowAction />
</i:EventTrigger>

我更困惑的是我的代码的这一部分起作用了,并且没有问题。

我的问题:

为什么简单地将其省略?

我可以不说吗?还是将 EventTrigger.Actions标记遗漏会改变我尚未意识到/尚未体验到的东西?

最佳答案

是的,可以安全地省略它。

如果查看TriggerBase类(在EventTrigger的继承树上),您将看到它具有[ContentProperty("Actions")]属性。这告诉WPF将Actions属性视为XAML中元素的直接子级。

这在WPF中广泛使用,例如ContentControl具有Content属性(因此您可以编写<Button><Image/></Button>而不是<Button><Button.Content><Image/></Button.Content></Button>),Panel具有Children属性作为其内容,等等。

关于c# - 我可以省略EventTrigger.Actions吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38390016/

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