如何处理空 Uri 以将路径绑定到图像源

sil*_*ter 7 c# wpf mvvm

如何在空状态下初始化 Uri 对象。

首先想到的是做这样的事情

//does not work
Uri myUri = Uri.Empty
Run Code Online (Sandbox Code Playgroud)

这个也行不通

Uri myUri = new Uri(string.Empty)
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

fan*_*dro 9

只需设置:

new Uri("about:blank");
Run Code Online (Sandbox Code Playgroud)

为我工作。

  • 令人惊讶的是,结果非常好:[Linqpad 测试](https://imgur.com/a/IqbcbE8) (2认同)

JSJ*_*JSJ 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
Run Code Online (Sandbox Code Playgroud)

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

希望它适合你。