Caliburn Micro 运行 标签上的代码点击
Caliburn Micro run code on label click
我正在使用 WPF
和 Caliburn.Micro
。单击标签时,我希望任何代码都为 运行。我尝试了一些谷歌搜索,发现了 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()]"
我正在使用 WPF
和 Caliburn.Micro
。单击标签时,我希望任何代码都为 运行。我尝试了一些谷歌搜索,发现了 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()]"