2015-04-07 1 views
1

У меня есть GridView, для которого я программно задал контекст данных экземпляру модели представления. Элементы GridViewSource привязан к наблюдаемой коллекции (PagesToRead), которая является свойством на модели представления.WinRT XAML Databinding: как привязать свойство к контексту данных родителя при привязке в ItemTemplate?

В GridView.ItemTemplate, связывание идет вразрез с наблюдаемой коллекцией в ItemsSource, но я хочу, чтобы связать фона элемента в StackPanel к другой собственности на модели представления.

Я ищу волшебство <Background="{Binding Path=BackgroundColor, Source=???}">, которое выйдет из текущего источника товаров и свяжется с BackgroundColor Недвижимость на модель.

Вот XAML опущены:

<Grid> 
    <GridView x:Name="MainGrid" CanReorderItems="True" CanDragItems="True" 
    ItemsSource="{Binding Path=PagesToRead}" 
    <GridView.ItemTemplate> 
     <DataTemplate > 
      <StackPanel> 
      <Background="{Binding Path=BackgroundColor, Source=???}"> 
      <TextBlock Text="{Binding Path=Title}" 
      </StackPanel> 
     </DataTemplate> 
    </GridView.ItemTemplate> 
    </GridView> 
</Grid> 

ответ

1

Я получил ответ через другой проспект (спасибо Карл Эриксон). Вы являетесь:

<StackPanel Background="{Binding Path=DataContext.TileBackgroundColor, 
         ElementName=MainGrid"> 
+0

Спасибо за обмен, и вы можете отметить это как ответ! –

+2

Это не сработает для меня, потому что мой DataTemplate находится в отдельном файле xaml и используется в нескольких родителях. –

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