我有一個用戶控制元件,它定義了一個可以與另一個用戶控制元件通信的依賴屬性。
這個依賴屬性在后面的代碼中。
在這個用戶控制元件中,我有一個組合框,我想從中將所選專案通知給第二個用戶控制元件。
第一個用戶控制元件的代碼:
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}">
這個想法是當我在組合框中選擇專案時,更新依賴屬性,以便第二個用戶控制元件可以系結它并得到通知。
但我得到一個錯誤,因為依賴屬性不能在組合框中使用。
所以我想知道是否有某種方法可以在組合框中使用依賴屬性。
我試圖在第一個用戶控制元件的 xaml 中定義一個靜態資源,如下所示:
<UserControl.Resources>
<local:MyMainUserControl.DependencyProperty Key.../>
</UserControl.Resources>
但是 itellisense 向我顯示了除此之外的所有視圖,因此我無權訪問視圖的依賴屬性。
那么是否可以在定義它的視圖中使用依賴屬性?
謝謝。
uj5u.com熱心網友回復:
將 SelectedItem 系結到 TipoComponenteSeleccionado:
<ComboBox Name="cmbTiposComponentes" Width="150"
SelectedItem="{Binding Path=TipoComponenteSeleccionado, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type local:TiposComponentes}}}">
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472168.html
