如何在同一用户控件中使用依赖项 属性?
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}}}">
我有一个定义依赖关系的用户控件 属性 可以与另一个用户控件进行通信。
这个依赖属性在后面的代码中。
在这个用户控件中,我有一个组合框,我想从中将 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}}}">