gpt4 book ai didi

wpf - 绑定(bind)返回 null 时隐藏多绑定(bind)字符串格式

转载 作者:行者123 更新时间:2023-12-04 19:40:26 27 4
gpt4 key购买 nike

我正在寻找将时间跨度属性绑定(bind)到文本 block ,这似乎已解决 this 帖子的帮助

现在我想在数据为空时隐藏 StringFormat。如果我使用带有字符串格式的多重绑定(bind),并且如果我的数据为空,则字符串格式仅显示“:”

<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}:{1}">
<Binding Path="MyTime.Hours" TargetNullValue={x:Null}/>
<Binding Path="MyTime.Minutes" TargetNullValue={x:Null}/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

如果数据为空,我如何隐藏“:”

最佳答案

我在这里基本上回答了与 Nicolas Repiquet 相同的问题,但无论如何..
感觉这里的框架少了一部分。没有办法(据我所知)使 MultiBinding 在没有转换器的情况下使用 FallbackValue。使用这种方法可能会使您回到第 1 个方 block ,因为您的上一个问题是关于比使用 Converter 更好的方法 :)

<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}:{1}"
Converter="{StaticResource FallbackConverter}"
FallbackValue="">
<Binding Path="MyTime.Hours" />
<Binding Path="MyTime.Minutes" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>

Converter 基本上完成了您“应该”能够使用 Property 的工作

public class FallbackConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
foreach (object value in values)
{
if (value == DependencyProperty.UnsetValue)
{
return DependencyProperty.UnsetValue;
}
}
return values;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

关于wpf - 绑定(bind)返回 null 时隐藏多绑定(bind)字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4564252/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com