c# - 标签上的 Caliburn Micro 运行代码点击

标签 c# wpf xaml caliburn.micro

我正在使用 WPFCaliburn.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:我什至之前尝试过将 public void Info() 方法添加到 ViewModel,因为这适用于按钮。但在本例中并非如此。

最佳答案

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

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

关于c# - 标签上的 Caliburn Micro 运行代码点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41559583/

相关文章:

c# - VB的开发规模和C#一样吗?

c# - 老大说 "We need an IPhone app",类似iPhone上的Firefox、JQuery、模板、数据链接的框架有哪些?

wpf - 在 ViewModel 中获取窗口属性

c# - 如何从 Xaml 在 IDataErrorInfo 验证器中设置属性

c# - .NET Lambda 传递方法参数

c# - 如何使用 Autocomplete Textbox WP Toolkit 完成多个单词?

c# - 在 WPF 中,PreviewTextInput 是否总是只给出一个字符?

c# - 带有分组项目的 ListView - 通过组标题复选框选择所有组成员

c# - 在关闭 C# WPF 应用程序之前询问用户

c# - 将 ClipboardContentBinding 绑定(bind)到 DisplayMemberPath