我有什么:
1. XAML 中的文本块
2. 来自包含 DateTime 的数据库的查询?类型数据。
我做什么:
1. 我用 DateTime 声明一个类“myClass”?名为“myDate”的参数
我想要什么
1. 在文本块中显示 MyDate [我知道]
2. 当“myDate”的值为空时,在文本块中显示一个字符串。【不知道,因为Get方法只能返回一个DateTime?类型值但不是字符串类型。]
问问题
88 次
3 回答
5
尝试将 Binding 与您的文本块一起使用,如下所示:
<TextBlock Text="{Binding myDate, TargetNullValue='Your null message'"/>
于 2012-05-12T15:10:31.237 回答
0
声明一个字符串变量;如果myDate
不为空,则为其分配日期值 - 否则将其设置为默认值。例子:
string stringToShow = null;
if(myDate.HasValue)
{
stringToShow = myDate.Value.ToString();
}
else
{
stringToShow = "other string";
}
或者,更简洁地使用三元
string stringToShow = myDate.HasValue ? myDate.Value.ToString() : "other string";
然后stringToShow
在文本块中显示而不是myDate
. 最后,您可以将其包装在扩展方法中,以使其超级容易调用:
public static string ToSpecialString(this DateTime? date)
{
return myDate.HasValue ? myDate.Value.ToString() : "other string";
}
然后你可以myDate.ToSpecialString()
在前端调用。
于 2012-05-12T15:05:10.023 回答
0
您应该编写一个转换器,它将执行“为空”检查并在返回信息字符串时返回。
这将允许您使用标准数据绑定直接从 XAML 执行此操作,而无需在代码隐藏文件中添加任何其他代码。
于 2012-05-12T15:05:11.903 回答