如何在同一用户控件中使用依赖项 属性?

How to use a dependency property in the same user control?

我有一个定义依赖关系的用户控件 属性 可以与另一个用户控件进行通信。

这个依赖属性在后面的代码中。

在这个用户控件中,我有一个组合框,我想从中将 selected 项目通知给第二个用户控件。

第一个用户控件的代码:

public static readonly DependencyProperty TipoComponenteSeleccionadoProperty =
            DependencyProperty.Register("TipoComponenteSeleccionado", typeof(TiposComponentes),
            typeof(ucClasificacionesComponentesBaseView), new PropertyMetadata(null));
        public bool TipoComponenteSeleccionado
        {
            get
            {
                return (bool)GetValue(TipoComponenteSeleccionadoProperty);
            }
            set
            {
                SetValue(TipoComponenteSeleccionadoProperty, value);
            }
        }

我在 xaml:

中尝试过类似的东西
<ComboBox Name="cmbTiposComponentes" Width="150"
          TipoComponenteSeleccionado="{Binding ElementName=cmbTiposComponentes, Path=SelectedItem}">

想法是当我 select 组合框中的项目时,更新依赖项 属性,以便第二个用户控件可以绑定它并收到通知。

但是我得到一个错误,因为依赖项 属性 不能在组合框中使用。

所以我想知道是否有一些方法可以在组合框中使用依赖项 属性。

我试过在第一个用户控件的 xaml 中定义一个静态资源,类似这样:

<UserControl.Resources>
    <local:MyMainUserControl.DependencyProperty Key.../>
</UserControl.Resources>

但是 itellisense 向我展示了除此之外的所有视图,因此我无法访问视图的依赖项 属性。

那么是否可以在定义它的视图中使用依赖项属性?

谢谢。

将 SelectedItem 绑定到 TipoComponenteSeleccionado:

<ComboBox Name="cmbTiposComponentes" Width="150"
          SelectedItem="{Binding Path=TipoComponenteSeleccionado, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type local:TiposComponentes}}}">