我试图在我的uwp应用程序中使用HyperlinkButton。在控件的生命周期的后期,我将设置“NavigateUri”。下面代码段中“ViewModel.SecondaryLink”的默认值为空。当它是空的时候,它就会崩溃。因此,我们不能将NavigateUri的值保留为HyperlinkButton的空值吗?当我在控件的构造函数中初始化它时,它在没有崩溃的情况下工作,但是我是从internet获得这个值的,所以我需要稍后设置它。请帮帮忙。
<Grid
Grid.Column="1"
CornerRadius="3"
Margin="32,0,0,0">
<HyperlinkButton
Content="Learn more"
FontSize="14"
Margin="0,0,0,0"
Style="{StaticResource HyperlinkButtonStyle}"
NavigateUri="{x:Bind ViewModel.SecondaryLink, Mode=OneWay}" />
</Grid>.cpp文件
Windows::Foundation::Uri FamilyValuePropControlViewModel::SecondaryLink()
{
return Windows::Foundation::Uri(m_secondaryLink);
}.h文件
winrt::hstring m_secondaryLink{ L"" };发布于 2021-12-16 03:33:07
在使用带空
的HyperlinkButton时,NavigateUri崩溃
如果使用Uri类型替换字符串类型,则在应用空值时不会引发异常。
public Uri SecondaryLink { get; set; } 如果确实要使用字符串类型,请在SecondaryLink为空字符串时设置默认值。
public string SecondaryLink
{
get
{
if(_secondaryLink == null)
{
return "http://defaut";
}
else
{
return _secondaryLink;
}
}
set
{
_secondaryLink = value;
}
}https://stackoverflow.com/questions/70370268
复制相似问题