C# 超链接导航的替代方案?
我正在使用WPF(.NET4.5Target),虽然我已经非常习惯WPF,但这是我第一次使用页面/导航模型 我发现,要导航到一个页面,我可以做一些非常简单的事情(使用超链接),但这与我想要的风格相差甚远(我宁愿从一个按钮开始)。是否有超链接的替代方案,或者我最好使用按钮+代码来导航C# 超链接导航的替代方案?,c#,.net,wpf,hyperlink,wpf-4.0,C#,.net,Wpf,Hyperlink,Wpf 4.0,我正在使用WPF(.NET4.5Target),虽然我已经非常习惯WPF,但这是我第一次使用页面/导航模型 我发现,要导航到一个页面,我可以做一些非常简单的事情(使用超链接),但这与我想要的风格相差甚远(我宁愿从一个按钮开始)。是否有超链接的替代方案,或者我最好使用按钮+代码来导航 我的目标是在uniformgrid中提供带有图标的样式化按钮作为超链接,该超链接将整个页面作为主页。在Silverlight/WP中,有,这正是您所要求的,但显然在WPF中不存在。因此,您的最佳选择似乎是使用常规按钮
我的目标是在uniformgrid中提供带有图标的样式化按钮作为超链接,该超链接将整个页面作为主页。在Silverlight/WP中,有,这正是您所要求的,但显然在WPF中不存在。因此,您的最佳选择似乎是使用常规按钮及其命令。比如说:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
相反,您可能希望编写自己版本的HyperlinkButton,如下所示:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
在Silverlight/WP中,有,这正是您所要求的,但显然WPF中不存在。因此,您的最佳选择似乎是使用常规按钮及其命令。比如说:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
相反,您可能希望编写自己版本的HyperlinkButton,如下所示:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
在Silverlight/WP中,有,这正是您所要求的,但显然WPF中不存在。因此,您的最佳选择似乎是使用常规按钮及其命令。比如说:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
相反,您可能希望编写自己版本的HyperlinkButton,如下所示:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
在Silverlight/WP中,有,这正是您所要求的,但显然WPF中不存在。因此,您的最佳选择似乎是使用常规按钮及其命令。比如说:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
相反,您可能希望编写自己版本的HyperlinkButton,如下所示:
<Button Content="Navigate" Command="{Binding NavigateCommand}"
CommandParameter="/Views/SomePage.xaml" />
public class HyperlinkButton : Button
{
public string NavigateUri { get; set; }
protected override void OnClick(EventArgs e)
{
if (NavigateUri != null)
{
var uri = new Uri(NavigateUri, UriKind.Relative);
NavigationService.Navigate(uri);
}
}
}
您可以根据需要设置按钮的样式。在WPF中,几乎任何东西都是一个内容控件。这根本不是问题,超链接不是一个按钮,必须嵌入到文本块中,我想要“像”一个具有超链接功能的按钮,到目前为止,我是通过按钮和代码实现的,但我的问题是,有没有其他控件可以与超链接相同,但不是内联文本内容,而是纯文本内容。然后,您需要解决您的问题。“提供带有图标的样式化按钮”您需要阅读整个问题以获得上下文,这是我的视觉目标,因此,一方面,按钮是我的视觉目标,另一方面,超链接是我的功能目标,我正在寻找既能带来这两种功能(具有超链接功能的按钮外观)的东西。您可以根据需要设置按钮样式。在WPF中,几乎任何东西都是一个内容控件。这根本不是问题,超链接不是一个按钮,必须嵌入到文本块中,我想要“像”一个具有超链接功能的按钮,到目前为止,我是通过按钮和代码实现的,但我的问题是,有没有其他控件可以与超链接相同,但不是内联文本内容,而是纯文本内容。然后,您需要解决您的问题。“提供带有图标的样式化按钮”您需要阅读整个问题以获得上下文,这是我的视觉目标,因此,一方面,按钮是我的视觉目标,另一方面,超链接是我的功能目标,我正在寻找既能带来这两种功能(具有超链接功能的按钮外观)的东西。您可以根据需要设置按钮样式。在WPF中,几乎任何东西都是一个内容控件。这根本不是问题,超链接不是一个按钮,必须嵌入到文本块中,我想要“像”一个具有超链接功能的按钮,到目前为止,我是通过按钮和代码实现的,但我的问题是,有没有其他控件可以与超链接相同,但不是内联文本内容,而是纯文本内容。然后,您需要解决您的问题。“提供带有图标的样式化按钮”您需要阅读整个问题以获得上下文,这是我的视觉目标,因此,一方面,按钮是我的视觉目标,另一方面,超链接是我的功能目标,我正在寻找既能带来这两种功能(具有超链接功能的按钮外观)的东西。您可以根据需要设置按钮样式。在WPF中,几乎任何东西都是一个内容控件。这根本不是问题,超链接不是一个按钮,必须嵌入到文本块中,我想要“像”一个具有超链接功能的按钮,到目前为止,我是通过按钮和代码实现的,但我的问题是,有没有其他控件可以与超链接相同,但不是内联文本内容,而是纯文本内容。然后,您需要解决您的问题。“提供带有图标的样式化按钮”你需要阅读整个问题以获得上下文,这是我的视觉目标,因此,一方面按钮是我的视觉目标,另一方面超链接是我的功能目标,我正在寻找同时带来这两个目标的东西(具有超链接功能的按钮外观)我已经有了这样的解决方案,但我真的希望有内置的东西,是的,HyperlinkButton似乎非常适合,他们在早期分叉SL&WPF时出了很大的问题,在我看来,没有一个是另一个的超集,这真是一团糟:(我已经有了这样的解决方案,但我真的希望有内置的东西,是的,HyperlinkButton似乎非常适合,他们在早期分叉SL&WPF时出了很大的问题,在我看来,没有一个是另一个的超集,这真是一团糟:(我已经有了这样一个解决方案,但我真的希望有一个内置的东西,是的HyperlinkButton似乎非常适合,他们在早期分叉SL&WPF时出错了,在我看来,没有一个是另一个的超集,这真是一团糟