首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有空HyperlinkButton的NavigateUri时崩溃

使用带有空HyperlinkButton的NavigateUri时崩溃
EN

Stack Overflow用户
提问于 2021-12-15 21:03:23
回答 1查看 49关注 0票数 1

我试图在我的uwp应用程序中使用HyperlinkButton。在控件的生命周期的后期,我将设置“NavigateUri”。下面代码段中“ViewModel.SecondaryLink”的默认值为空。当它是空的时候,它就会崩溃。因此,我们不能将NavigateUri的值保留为HyperlinkButton的空值吗?当我在控件的构造函数中初始化它时,它在没有崩溃的情况下工作,但是我是从internet获得这个值的,所以我需要稍后设置它。请帮帮忙。

代码语言:javascript
复制
<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文件

代码语言:javascript
复制
Windows::Foundation::Uri FamilyValuePropControlViewModel::SecondaryLink()
{
    return Windows::Foundation::Uri(m_secondaryLink);
}

.h文件

代码语言:javascript
复制
winrt::hstring m_secondaryLink{ L"" };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-16 03:33:07

在使用带空

的HyperlinkButton时,NavigateUri崩溃

如果使用Uri类型替换字符串类型,则在应用空值时不会引发异常。

代码语言:javascript
复制
public Uri SecondaryLink { get; set; } 

如果确实要使用字符串类型,请在SecondaryLink为空字符串时设置默认值。

代码语言:javascript
复制
 public string SecondaryLink
 {

     get
     {
         if(_secondaryLink == null)
         {
             return "http://defaut";
         }
         else
         {
             return _secondaryLink;
         }

       
     }
     set
     {
         _secondaryLink = value;

     }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70370268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档