gpt4 book ai didi

c# - xaml 中的条件元素取决于绑定(bind)内容

转载 作者:可可西里 更新时间:2023-11-01 03:06:06 27 4
gpt4 key购买 nike

仅当 Address.Length > 0 时,是否可以显示此 TextBlock?我想直接在 xaml 中执行此操作,我知道我可以以编程方式放置所有控件

 <TextBlock Text="{Binding Path=Address}" />

最佳答案

基本上,您需要编写一个 IValueConverter这样您就可以将 TextBoxVisibility 属性绑定(bind)到 Address 字段或您创建的新字段。

如果您绑定(bind)到 Address 字段,绑定(bind)可能如下所示::

<TextBlock Text="{Binding Path=Address}"
Visibility="{Binding Path=Address, Converter={StaticResource StringLengthVisibilityConverter}}" />

然后 StringLengthVisiblityConverter 看起来像这样:

public class StringLengthVisiblityConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || value.ToString().Length == 0)
{
return Visibility.Collapsed;
}
else
{
return Visibility.Visible;
}
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
// Don't need to implement this
}
}

然后您只需要将转换器添加为资源,使用如下语法(其中 src 映射到定义转换器的 namespace ):

<src:StringLengthVisiblityConverter x:Key="StringLengthVisiblityConverter" />

关于c# - xaml 中的条件元素取决于绑定(bind)内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4450866/

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