gpt4 book ai didi

wpf - WPF中 "LabelLink"控件的单击事件的绑定(bind)方法-Caliburn

转载 作者:行者123 更新时间:2023-12-04 10:05:39 26 4
gpt4 key购买 nike

嗨,我在“LabelLink”控件的单击事件上绑定(bind)方法时遇到问题。我使用伪 LabelLink 控件,我想每个人都知道这个带有文本框和超链接的解决方案。

这是我的代码:

<TextBlock Margin="10,12,10,4">
<Hyperlink Name="RegLink"
NavigateUri="http://registracia.azet.sk/"
Micro:Message.Attach="[Event Click]=[Action OpenDefaultBrowser(NavigateUri)]"
FontSize="12">Registrácia</Hyperlink>

问题是我只能在框架元素上绑定(bind)方法。

我得到这个编译错误:
Cannot attach type "ActionMessage" to type "Hyperlink". Instances of type "ActionMessage" can only be attached to objects of type "FrameworkElement".

我用谷歌搜索,芽没有找到任何合适的解决方案。

感谢您的建议。

我尝试使用 textBlock 或 Label 控件制作一个假的 linkLabel,但它们没有单击事件处理程序。

最佳答案

我已经改编了@Rick 对 Caliburn.Micro 的回答

在 TestView.xaml

<Grid>
<Grid.Resources>
<Style x:Key="HyperlinkButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>

<Button Style="{StaticResource HyperlinkButton}" Focusable="False"
cal:Message.Attach="[Action NavigateTo('http://www.stackoverflow.org')]">
<TextBlock>
<Hyperlink Focusable="False">www.stackoverflow.com</Hyperlink>
</TextBlock>
</Button>
</Grid>

在 TestViewModel.cs
public void NavigateTo(string url)
{
Process.Start(new ProcessStartInfo(url));
}

我在我的应用程序中使用这种方式并且它有效。希望对你有帮助。

关于wpf - WPF中 "LabelLink"控件的单击事件的绑定(bind)方法-Caliburn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4757780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com