zoukankan      html  css  js  c++  java
  • WPF 基础

    MultiBinding 与 Binding 一样继承自 BindingBase,因此可以使用 Binding 的地方都可以使用 MultiBinding。

    namespace System.Windows.Data
    {
        [ContentProperty("Bindings")]
        public class MultiBinding : BindingBase, IAddChild
        {
            ...
            public Collection<BindingBase> Bindings { get; }
        }
    }
    
    

    例子:
    在一个注册界面中,当两次输入的密码一致且邮箱不为空时,可以点击提交。

    <StackPanel Grid.Row="12">
        <TextBox x:Name="passwd"/>
        <TextBox x:Name="passwdConfirm"/>
        <TextBox x:Name="email"/>
        <Button x:Name="buttonSubmit" Content="click me" Width="100" HorizontalAlignment="Left" Click="buttonSubmit_Click"/>
    </StackPanel>
    
    public class LogonMultiBindingConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if ( !values.Cast<string>().Any(text => string.IsNullOrWhiteSpace(text))
                && values[0].ToString() == values[1].ToString() 
                && !string.IsNullOrWhiteSpace(values[2].ToString()))
            {
                return true;
            }
    
            return false;             
        }
    
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
        
    Binding b1 = new Binding("Text") { Source = this.passwd };
    Binding b2 = new Binding("Text") { Source = this.passwdConfirm };
    Binding b3 = new Binding("Text") { Source = this.email };
    
    MultiBinding mb = new MultiBinding() { Mode=BindingMode.OneWay };
    mb.Bindings.Add(b1);
    mb.Bindings.Add(b2);
    mb.Bindings.Add(b3);
    mb.Converter = new LogonMultiBindingConverter();
    
    this.buttonSubmit.SetBinding(Button.IsEnabledProperty, mb);
    
  • 相关阅读:
    python 中的深拷贝和浅拷贝
    时间复杂度
    为什么l1和l2可以防止过拟合
    逻辑回归实现多分类
    《深入浅出数据分析》读书笔记
    牛客网的输入和输出
    万物皆可embedding
    NLP中的mask的作用
    不同语言对单例模式的不同实现
    ElasticSearch 索引 VS MySQL 索引
  • 原文地址:https://www.cnblogs.com/MichaelLoveSna/p/14444272.html
Copyright © 2011-2022 走看看