Silverlight 4.0 SL 4:将选项卡项可见性绑定到复选框

Silverlight 4.0 SL 4:将选项卡项可见性绑定到复选框,silverlight-4.0,binding,Silverlight 4.0,Binding,当我创建一个新的选项卡项时,我会同时创建一个新的复选框。 我想将TabItem的可见性绑定到复选框,但设置绑定时遇到问题 CheckBox cb = new CheckBox(); cb.Content = tabItemName; cb.Name = tabItemName; var visibilityBinding = new Binding("IsChecke


当我创建一个新的选项卡项时,我会同时创建一个新的复选框。
我想将TabItem的可见性绑定到复选框,但设置绑定时遇到问题

                CheckBox cb = new CheckBox();
                cb.Content = tabItemName;
                cb.Name = tabItemName;

                var visibilityBinding = new Binding("IsChecked");
                visibilityBinding.Mode = BindingMode.TwoWay;
                visibilityBinding.ElementName = cb.Name;  // this could just be a string literal 
                visibilityBinding.Converter = new VisibilityConverter();
                m.TabItem.SetBinding(TabItem.VisibilityProperty, visibilityBinding);

                cb.IsChecked = true;
在运行时,我会遇到以下错误:
System.Windows.Data错误:BindingExpression路径错误:在“Telerik.Windows.Controls.RadTabItem”Telerik.Windows.Controls.RadTabItem“”上未找到“IsChecked”属性(HashCode=66442352)。BindingExpression:Path='IsChecked'DataItem='Telerik.Windows.Controls.RadTabItem'(HashCode=66442352);目标元素是'Telerik.Windows.Controls.RadTabItem'(Name='Central…');目标属性为“可见性”(类型为“System.Windows.Visibility”)

我做错了什么?我认为绑定构造函数的参数是源对象(复选框)上的属性,该对象绑定到SetBinding()调用中命名的属性

谢谢你的建议

更新
我加了
visibilityBinding.Source=cb

并在运行时获取此错误:
使用Binding时无法设置Binding.RelativeSource。Source

Binding.Source()是以编程方式进行绑定所必需的,并且与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);

希望这对其他人有所帮助……

为什么不在XAML中执行呢?因为用户可以在运行时创建其他选项卡项。