gpt4 book ai didi

wpf - EventTrigger 未触发 UserControl 的 Loaded 事件

转载 作者:行者123 更新时间:2023-12-02 14:35:58 25 4
gpt4 key购买 nike

我有一个具有以下事件触发器的用户控件:

<UserControl x:Class="TestApp.Views.MyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
>

<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding OnLoadedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>

它是通过 UserControl 的构造函数设置的(请忽略 ServiceLocator ..这只是一个快速原型(prototype)):

public MyUserControl()
{
InitializeComponent();

DataContext = ServiceLocator.Current.GetInstance<DirectorySearchViewModel>();
}

在我的 View 模型中,我有以下内容:

    public ICommand OnLoadedCommand { get; private set; }

public MyUserControl()
{
OnLoadedCommand = new DelegateCommand(OnLoaded);
}

public void OnLoaded()
{
}

OnLoaded 永远不会被调用。如果我将 EventName 更改为 ..MouseDown,那么它可以工作,但对于 Loaded 不起作用

很确定这是一个愚蠢的错误(发誓我过去已经这样做了一百万次),但现在似乎无法弄清楚

最佳答案

public MyUserControl()
{
DataContext = ServiceLocator.Current.GetInstance<DirectorySearchViewModel>();
InitializeComponent();
}

贵族。

关于wpf - EventTrigger 未触发 UserControl 的 Loaded 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486594/

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