如何处理空白字符串和无效Uri';s位于绑定到uri属性的文本框中
本文关键字:绑定 于绑定 uri 文本 属性 空白 处理 何处理 字符串 Uri 无效 | 更新日期: 2023-09-27 18:29:09
在我的WPF应用程序中,我有一个绑定到Uri属性的文本框。
<TextBox Grid.Column="1" Grid.Row="10" Margin="0,0,4,4" x:Name="txtExportURL" Text="{Binding Path=ProjectExportURL, Mode=TwoWay}"
Visibility="{Binding Permissions.CanExportJson, Source={x:Static services:ApplicationUserInfo.Instance}, Converter={StaticResource BoolToVisibilityConverter}}"/>
我正在尝试对来自文本框的字符串进行验证,如下所示
private Uri _projectExportURL;
public Uri ProjectExportURL
{
get { return _projectExportURL; }
set
{
if(Uri.TryCreate(value, value.AbsoluteUri, out _projectExportURL))
_projectExportURL = value;
else
_projectExportURL = null;
this.OnPropertyChanged("ProjectExportURL");
}
}
问题是,当字符串为空或Uri无效并且为TryCreate
时,它不会失败并转到else语句。它只是失败了,什么也没做。
如何确保将空字符串和无效Uri设置为null?
你是这个意思吗?
if(value == null || string.IsNullOrEmpty(value.ToString()) || !Uri.TryCreate(value, value.AbsoluteUri, out _projectExportURL))
_projectExportURL = null;
OnPropertyChanged("ProjectExportURL");
不确定空白Uri是什么。