2012-01-25 2 views
0

Я пытаюсь вызвать метод GetBindingExpression в событии Loaded, но он всегда возвращает null.GetBindingExpression возвращает null в событии Loaded

Это ожидаемое поведение, или я делаю что-то неправильно? Если ожидается, после какого события появятся обязательные выражения?

Я просто создать пользовательский элемент управления

public partial class LookUp : ComboBox 

public static readonly DependencyProperty LookUpItemsSourceProperty = 
          DependencyProperty.Register("LookUpItemsSource" 
          , typeof(IEnumerable) 
          , typeof(LookUp) 
          , new PropertyMetadata(OnItemsSourcePropertyChanged)); 


public IEnumerable LookUpItemsSource 
     { 
      get 
      { 
       return this.GetValue(LookUpItemsSourceProperty) as IEnumerable; 
      } 
      set 
      { 
       this.SetValue(LookUpItemsSourceProperty, value); 
      } 
     } 

и использовать этот элемент управления в XAML

<Controls:LookUp Name="cb1" LookUpItemsSource="{x:Static Helper:DataManager.CycleLookUpData}" 

Теперь я хочу, чтобы получить связывающее выражение, когда управление инициализируется, что метод возврата нуль:

cb1.GetBindingExpression(LookUp.LookUpItemsSourceProperty) 
+1

Мы не можем помочь, если вы не укажете нам свой код (XAML и соответствующий код позади). – Nuffin

+0

Укажите исходный код –

+1

Люди, люди! Никогда не запрашивайте «исходный код». Всегда запрашивайте *** минимальный код ***, который покрывает вопрос. В этом случае нам нужно увидеть xaml для элемента управления, у которого есть привязка, которую вы хотите получить (не все окно!) И обработчик события Loaded. – Will

ответ

1

x: static задает значение ключа, это не обязательное выражение. Вы должны будете использовать,

{Binding CycleLookUpData, source={x:static Helper:DataManager}} 
1

Если вы не используете {Binding ... в XAML, вы не можете использовать GetBindingExpression() метод. В вашем случае вы устанавливаете значение вместо привязки. Вместо этого вам нужно использовать cb1.GetValue(LookUp.LookUpItemsSourceProperty).

 Смежные вопросы

  • Нет связанных вопросов^_^