8

如何将 Uri 对象初始化为空状态。

第一个想法是做这样的事情

//does not work
Uri myUri = Uri.Empty

这个也行不通

Uri myUri = new Uri(string.Empty)

原因是我将图像路径存储在数据库中,如果没有定义图像,我有一个空白的数据库记录。

我知道有办法用转换器处理这个问题,并在 image_path 为空的情况下返回默认的空白图像 Uri...

如何最好地处理与我的 ViewModel Uri 属性的绑定?

转换器是要走的路吗?如果您想要返回许多不同的默认图像,您将如何处理它...

4

4 回答 4

10

只需设置:

new Uri("about:blank");

为我工作。

于 2018-12-06T18:09:18.517 回答
1

你可以做这样的事情

Uri uri = null;
bool someValue = Context.TryGetUri(entity, out uri);
于 2014-10-27T07:06:39.963 回答
0

处理此问题的其他方法是您可以更改数据查询,例如,如果您使用的是 sql 员工表,那么您可以如下所示编写。

select Employeeid, FirstName, LastName, 
case when ImageUrl is null then 'http://www.codeodor.com/images/Empty_set.png' else ImageUrl end as ImageUrl from employees

这将处理 null 并返回空图像的默认 url;

希望它适合你。

于 2012-04-05T11:23:17.660 回答
0

我有同样的问题,经过一段时间的思考,我相信没有默认构造函数,System.Uri因为它没有意义。实际上, anURI标识资源,因此如果该资源不存在或无法定位,我认为最好的方法是处理null引用而不是 empty Uri

在您的代码中,而不是(伪代码):

if (myUri != Uri.Empty)
{
    // do something
}

你将拥有:

if (myUri != null)
{
   // do something
}

在这种情况下,如果它适合您的工作流程,您也可以使用Null-conditional Operator 。

于 2017-04-13T08:19:47.433 回答