我有一个WPF用户控件,托管另一个WPF用户控件,我已经做出并公开了各种依赖属性。现在我有一个名为IsSelected的DP,我需要将从内部UserControl的IsSelected绑定到外部USerControl的IsSelected,以便当在窗口或页面中使用外部UserControl时,可以在用户选择内部用户控件。WPF绑定通过?
这有道理吗?
更新:我试着用Xaml Relative Source绑定,但我的内部控件被用户交换,这意味着Xaml绑定指向错误的UserControl。考虑一个画中画视频控件,用户可以用小图片交换大图片,但它始终是驱动IsSelected属性的大图。
所以我的XAML看起来像这样
MainWindow.xaml ...
<Grid>
<MyControl1 />
</Grid>
MyControl1.xaml ...
<Grid>
<MyControl2 x:Name="myControl2" />
</Grid>
双方各控制工作的DP性能有很大的和当我作为单独的UserControls直接绑定到它们时,正确绑定,我只是可以解决如何将它们内部绑定在一起
在后面的代码为MyControl1我曾尝试以下变化...
var bind = new Binding("IsSelected");
bind.Source = myControl2;
bind.Mode = BindingMode.TwoWay;
this.SetBinding(MyControl1.IsSelectedProperty, bind);
有没有人有什么想法?
干杯
戴夫
你尝试像' '在哪里设置了myControl1作为包含UserControl的'x:Name'? –
嘿,总是有一条重要的信息遗漏了,对不起!内部控件通过鼠标点击控件与另一个交换。它是一个Picture-in-Picture控件,用户可以切换小视频和大视频。因此,Xaml绑定方法仅在用户交换控件之前有效。 –