C# Caliburn标签上的微运行代码单击

C# Caliburn标签上的微运行代码单击,c#,wpf,xaml,caliburn.micro,C#,Wpf,Xaml,Caliburn.micro,我正在使用WPF和Caliburn.Micro一起使用。我希望在单击标签时运行任何代码。我在谷歌上搜索了一下,发现了cal:Message.Attach XAML: 但是,ShowAboutWindow无论如何都不会运行。我添加了一个MessageBox,以确保它不是WindowManager搞砸的 我怎样才能实现我的愿望 编辑1:我之前尝试过的是在ViewModel中添加一个public void Info()方法,因为这适用于按钮。但在本例中没有。请尝试附加到MouseLeftButtonU

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

XAML:

但是,
ShowAboutWindow
无论如何都不会运行。我添加了一个
MessageBox
,以确保它不是
WindowManager
搞砸的

我怎样才能实现我的愿望


编辑1:我之前尝试过的是在
ViewModel
中添加一个
public void Info()
方法,因为这适用于按钮。但在本例中没有。请尝试附加到
MouseLeftButtonUp
事件,以在释放鼠标左键后模拟单击事件

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

感谢您发布此尝试。然而,仍然什么也没有发生。什么都没有。唯一的选项是因为Label没有点击事件处理程序。@chan视图模型或视图背后的代码上的方法
ShowAboutWindow
在哪里?是在上下文菜单中还是类似的(这可能会断开DataContext/ViewModel链接)?很抱歉回复得太晚,但这完全是我的错。我忘了启用整个网格,您无法通过查看它来确定这一点。它起作用了。检查为正确答案!你能给我们看一下你的引导程序吗?其次,你在使用DI/IoC容器吗?为什么还要使用标签?样式化的按钮看起来就像标签一样简单,默认情况下,您的单击事件可用。@Nkosi我现在正在使用一个按钮,但是,无论我如何尝试,它都被禁用。即使我将属性
IsEnabled
设置为
true
,它也是禁用的@您是否有像
CanShowAboutWindow
这样的保护属性或方法。框架使用这些防护来启用/禁用控件。您好@Nkosi,您能详细说明一下吗?
public void ShowAboutWindow()
{
    MessageBox.Show("xyz"); // just to test whether ShowAboutWindow is executed whatsoever (see explanation below) 
    WindowManager.ShowWindow(new AboutViewModel(EventAggregator, WindowManager, SettingsManager));
}
cal:Message.Attach="[Event MouseLeftButtonUp] = [Action ShowAboutWindow()]"