卡利本 在标签单击时运行代码



我在Caliburn.Micro一起使用WPF。我希望在单击标签时运行任何代码。我尝试了一些谷歌搜索,发现了cal:Message.Attach.

XAML:

<Label x:Name="Info" Content="Info" HorizontalAlignment="Left" Margin="305,440,0,0"
VerticalAlignment="Top" FontFamily="Tahoma" FontSize="10" FontWeight="Bold" cal:Message.Attach="[Action ShowAboutWindow()]"/>

C#:

public void ShowAboutWindow()
{
    MessageBox.Show("xyz"); // just to test whether ShowAboutWindow is executed whatsoever (see explanation below) 
    WindowManager.ShowWindow(new AboutViewModel(EventAggregator, WindowManager, SettingsManager));
}

但是,ShowAboutWindow不会运行任何内容。我添加了一个MessageBox,以确保它不是搞砸WindowManager

怎样才能实现我的愿望?

编辑1:我之前尝试过的是在ViewModel中添加一个public void Info()方法,因为这适用于按钮。但在这种情况下并非如此。

尝试附加到 MouseLeftButtonUp 事件以模拟释放鼠标左键后的单击事件。

cal:Message.Attach="[Event MouseLeftButtonUp] = [Action ShowAboutWindow()]"

相关内容

最新更新