0
我創建了包含單個組合框的自定義UserControl。當前在組合框中選擇的值綁定到自定義UserControls依賴項屬性。WPF將屬性綁定到子控件中的依賴項屬性
XAML:
<UserControl>
<ComboBox
ItemsSource="{Binding AllEntries}"
SelectedItem="{Binding SelectedEntry}" />
</UserControl>
代碼後面:
public partial class MyCombobox : UserControl
{
public static DependencyProperty SelectedEntryProperty =
DependencyProperty.Register("SelectedEntry",
typeof(ComboboxEntry),
typeof(MyCombobox));
public ComboboxEntry SelectedEntry
{
get { return (ComboboxEntry)GetValue(SelectedEntryProperty); }
set { SetValue(SelectedEntryProperty, value); }
}
}
現在的問題是,另一組分包含該延長框控件。在包含控件中,當用戶在組合框中選擇一個新值時,我想運行一些邏輯。我有點失落,因爲我如何設置鉤子。必須MyCombobox
公開自定義事件,該事件是從SelectedEntry依賴項屬性中的PropertyChanged回調觸發的?似乎哈克,但我不能找出另一種方式。
我正要回來,並刪除的問題(它沒有得到我查了第一個小時內的任何答案)... ...但你說得對,另一個結合是什麼,我試圖做的,但是我在後面的代碼中使用DataContext屬性進行許多醜陋的黑客攻擊,所以我搞砸了綁定。它現在可以正常工作,使用您描述的bind-through-elementname方法。我會接受並留在這裏,一些代表給你,但我懷疑它會幫助別人在這裏絆倒。乾杯! :) – Mizipzor 2010-08-20 12:07:16