【问题标题】:Converter visible when empty转换器在空时可见
【发布时间】:2019-07-17 20:12:49
【问题描述】:

如何制作转换器 VisibleWhenEmptyString。我做了如下,但它不起作用。问候

    <converters:ValueWhenConverter x:Key="VisibleWhenEmptyString">
    <converters:ValueWhenConverter.When>
        <x:String ></x:String>
    </converters:ValueWhenConverter.When>
    <converters:ValueWhenConverter.Value>
        <Visibility>Visible</Visibility>
    </converters:ValueWhenConverter.Value>
    <converters:ValueWhenConverter.Otherwise>
        <Visibility>Collapsed</Visibility>
    </converters:ValueWhenConverter.Otherwise>
</converters:ValueWhenConverter>

【问题讨论】:

  • 您的问题通过我的回复解决了吗?

标签: c# xaml uwp template10


【解决方案1】:

如果直接使用Template10源码调试ValueWhenConverter,设置&lt;x:String &gt;&lt;/x:String&gt;时会发现其实是一个空值。

所以,当你的Binding path值为string.Empty时,你可以直接改成null。这是解决此问题的最简单方法。

<Page.Resources>
    <converters:ValueWhenConverter x:Key="VisibleWhenTrueConverter">
        <converters:ValueWhenConverter.When>
            <x:String></x:String>
        </converters:ValueWhenConverter.When>
        <converters:ValueWhenConverter.Value>
            <Visibility>Visible</Visibility>
        </converters:ValueWhenConverter.Value>
        <converters:ValueWhenConverter.Otherwise>
            <Visibility>Collapsed</Visibility>
        </converters:ValueWhenConverter.Otherwise>
    </converters:ValueWhenConverter>
</Page.Resources>
<Grid>
    <TextBlock Text="Hello Admin" Visibility="{x:Bind IsAdmin, Converter={StaticResource VisibleWhenTrueConverter}}" />
</Grid>
public sealed partial class MainPage : Page
{
    private string _IsAdmin;
    public string IsAdmin
    {
        get { return _IsAdmin; }
        set
        {
            if (value == string.Empty)
            {
                _IsAdmin = null;
            }
            else
            {
                _IsAdmin = value;
            }
        }
    }
    public MainPage()
    {
        this.InitializeComponent();
        IsAdmin = string.Empty; ;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 2014-03-23
    • 2012-11-23
    • 2018-05-21
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    相关资源
    最近更新 更多