2011-05-16 55 views
0


当我创建一个新的TabItem时,我同时创建一个新的CheckBox。
我想将TabItem的可见性绑定到CheckBox,但在设置绑定时遇到困难。SL 4:将tabitem的可见性绑定到复选框

​​

在运行时,我得到这个错误:
System.Windows.Data错误:BindingExpression路径错误: '器isChecked' 属性不是'Telerik.Windows.Controls.RadTabItem“Telerik.Windows.Controls找到。 RadTabItem'(HashCode = 66442352)。 BindingExpression:Path ='IsChecked'DataItem ='Telerik.Windows.Controls.RadTabItem'(HashCode = 66442352);目标元素是'Telerik.Windows.Controls.RadTabItem'(Name ='Central ...');目标属性是'可见性'(类型'System.Windows.Visibility')..

我在做什么错?我以为参数绑定构造函数是源对象(复选框),其被绑定到SetBinding()命名调用属性的属性..

感谢您的任何意见...

UPDATE
我加了
visibilityBinding.Source = cb;

,并在运行时获取此错误:在使用Binding.Source

+0

为什么你不只是做在XAML? – slugster 2011-05-16 21:32:24

+0

因为用户可以在运行时创建附加的TabItems。 – Number8 2011-05-16 21:44:32

回答

1

Binding.Source(
Binding.RelativeSource不能设置)是必要的程序结合,并且是唯一与Binding.ElementName。
所以,这个工程:

var visibilityBinding = new Binding("IsChecked"); 
visibilityBinding.Source = cb; 
visibilityBinding.Mode = BindingMode.TwoWay; 
// visibilityBinding.ElementName = cb.Name; 
visibilityBinding.Converter = new VisibilityConverter(); 
m.TabItem.SetBinding(RadTabItem.VisibilityProperty, visibilityBinding); 

希望这有助于别人....

相关问题