2010-06-13 2 views
0

У меня есть вкладка wpf, контекст данных которой задан для моего объекта «Продукт». Все элементы управления этой формы получают свои данные из объекта «Продукт». У меня есть listview, чье свойство ItemsSource установлено в список в моем объекте «Product.DetailsList». Столбцы Listview привязаны к свойствам объекта в «Product.DetailsList»привязка данных к свойствам путаницы

До сих пор все работает нормально. Теперь мне нужно привязать некоторые из столбцов в моем списке к свойствам в моем объекте datacontext i.e.'Product '. Может ли кто-нибудь сказать мне, как я могу это достичь?

ответ

0

Я думаю, не совсем ясно, как иерархия между вашими элементами управления. DataContext работает таким образом: унаследован от верхнего уровня для своих детей. В этом случае, если WPF TabItem является родительским элементом управления ListView, ListView будет иметь тот же DataContext, что и TabItem.

Кроме того, при условии, я получаю это правильно, вы можете сделать это:

 <TabItem> 
      <ListView> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn DisplayMemberBinding="{Binding RelativeSource={RelativeSource FindAncestor, 
             AncestorType={x:Type TabItem}}, Path=DataContext.MyPropInProductObject}"> 

         </GridViewColumn> 
        </GridView> 
       </ListView.View> 
      </ListView> 
     </TabItem> 

где интересная часть Относительный Source установлен в FindAncestor и так как вы знаете, что DataContext устанавливается на объект продукта, вы может попросить имущество, которое вы хотите там.

НТН

0

Если я правильно понял ваш вопрос, вы спрашиваете, как привязать к какой-то свойство текущего элемента в коллекции. Это делается с помощью косой черты («/») в пути привязки.

Вот пример из MSDN:

<Button Content="{Binding }" /> 
<Button Content="{Binding Path=/}" /> 
<Button Content="{Binding Path=/Description}" /> 

В приведенном выше примере первой строке связывается с коллекцией, второй ряд связывается с текущим элементом коллекции и третий ряд связывается с Description свойства текущего элемента в сборе.

Пример из статьи MSDN: Binding to Collections - ищите Текущий артикул.

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