Caliburn Micro标签上的运行代码点击
问题描述:
我正在使用WPF
以及Caliburn.Micro
。我希望在点击标签时运行任何代码。我尝试了一些Google搜索,发现约cal:Message.Attach
。Caliburn Micro标签上的运行代码点击
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:我之前曾尝试过的方法是将public void Info()
方法添加到ViewModel
,因为这适用于按钮。但它并没有在这种情况下。
您能向我们展示您的BootStrapper,其次是您使用DI/IoC容器吗? – mvermef
另外为什么要使用标签?一个样式化的按钮看起来和标签一样简单,默认情况下您可以使用您的点击事件。 – Nkosi
@Nkosi我正在使用一个按钮,但是,无论我尝试什么,它都是禁用的。即使我将属性'IsEnabled'设置为'true',它被禁用...?! –