WPF之Binding基础十一 MultiBinding多路绑定
来源:互联网 发布:js 正整数正则表达式 编辑:程序博客网 时间:2024/05/29 18:33
当在Ui上显示的东西由多个数据源决定的时候就需要多路绑定
XAML代码
<Window x:Class="MultiBinding多路绑定.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel Background="LightBlue">
<TextBox x:Name="txtbox1" Height="23" Margin="5"/>
<TextBox x:Name="txtbox2" Height="23" Margin="5"/>
<TextBox x:Name="txtbox3" Height="23" Margin="5"/>
<TextBox x:Name="txtbox4" Height="23" Margin="5"/>
<Button x:Name="button1" Content="注册" Width="80" Margin="5"/>
</StackPanel>
</Window>
CS代码
namespace MultiBinding多路绑定
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Binding bind1 = new Binding("Text") { Source = this.txtbox1 };
Binding bind2 = new Binding("Text") { Source = this.txtbox2 };
Binding bind3 = new Binding("Text") { Source = this.txtbox3 };
Binding bind4 = new Binding("Text") { Source = this.txtbox4 };
MultiBinding mb = new MultiBinding() { Mode = BindingMode.OneWay };
mb.Bindings.Add(bind1);
mb.Bindings.Add(bind2);
mb.Bindings.Add(bind3);
mb.Bindings.Add(bind4);
mb.Converter = new LogonMultiBindingConverter();
this.button1.SetBinding(Button.IsEnabledProperty, mb);
}
}
}
LogonMultiBindingConverter类
namespace MultiBinding多路绑定
{
public class LogonMultiBindingConverter:System.Windows.Data.IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (!values.Cast<string>().Any(text => string.IsNullOrEmpty(text))
&& values[0].ToString() == values[1].ToString()
&& values[2].ToString() == values[3].ToString())
{
return true;
}
return false;
}
public object[] ConvertBack(object values, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- WPF之Binding基础十一 MultiBinding多路绑定
- WPF应用Binding之MultiBinding
- 数据绑定(十一)多路绑定MultiBinding
- wpf中的 绑定Binding MultiBinding StringFormat格式转化问题
- WPF MultiBinding 实现控件 Tooltip 多绑定
- Binding之MultiBinding
- WPF之Binding基础一 UI Binding Source
- 多路Binding(MultiBinding)
- WPF学习之绑定—Validation Rule和Binding Group
- WPF学习之绑定—Validation Rule和Binding Group
- Wpf基础之数据绑定
- WPF中的属性绑定 binding
- WPF绑定(Binding)讲解大全
- wpf 后台绑定数据 binding
- WPF绑定Binding及模式
- c#--wpf数据绑定binding
- WPF 之 Binding 初解
- WPF中的MultiBinding
- 飘逸的python - 增强的格式化字符串format函数
- FusionChart三维立体图之折线图
- JAVA操作XML文件例子代码
- 图片缓存哪些事儿
- 从李开复给大学生的第一封信里想到的
- WPF之Binding基础十一 MultiBinding多路绑定
- Oracle数据库默认使用的是乐观锁还是悲观锁?
- WinForm程序--常用方法
- Android屏幕背光调整机制
- Hadoop安全云盘开发(第4篇)
- struts征程:1.初识struts2
- C++ 预处理器 标志粘贴
- Android 检测网络是不是打开
- InterruptedException的解读