首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Interaction EventTrigger会忽略窗口加载事件,但不会忽略其他事件

Interaction EventTrigger会忽略窗口加载事件,但不会忽略其他事件
EN

Stack Overflow用户
提问于 2017-10-31 22:33:27
回答 1查看 570关注 0票数 1

我有一个带有交互的窗口,在加载时应该执行命令:

代码语言:javascript
运行
复制
<i:Interaction.Triggers>
    <i:EventTrigger EventName="Loaded">
        <i:InvokeCommandAction Command="{Binding ActivateCommand}" />
    </i:EventTrigger>
    <i:EventTrigger EventName="Closed" >
        <i:InvokeCommandAction Command="{Binding DeactivateCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

它的用法如下:

代码语言:javascript
运行
复制
var loginVM = new Login();
var loginView = new Views.Login();
loginView.DataContext = loginVM;
loginView.ShowDialog();

当使用视图模型定位器通过xaml设置登录视图DataContext (视图模型)时,EventTrigger工作正常,并在VM上执行命令。

但是,如果我像上面的例子一样从代码中设置DataContext (视图模型),视图模型上的命令就不会执行!?

我还可以确认Loaded事件是在窗口显示之前触发的,所以在示例中设置了DataContext之后...因此,设置了数据上下文,触发了事件,但由于某种原因,命令没有被调用。

除了Loaded之外,任何其他事件都能完美地工作,所以我完全迷惑了……

EN

回答 1

Stack Overflow用户

发布于 2017-10-31 23:07:56

好的,我可以确认这是一个BUG,当您设置SizeToContent时就会发生

window https://github.com/Microsoft/dotnet/issues/429的XAML中断加载事件中SizeToContent的存在

EventToCommand for Loaded event not working as expected if Window.SizeToContent = WidthAndHeight

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47037908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档