Привязка к шаблонному родительскому элементу ItemsControl изнутри ItemsControl.ItemTemplate - PullRequest
0 голосов
/ 23 сентября 2011

Как правильно связать родительский элемент ItemsControl из ItemsControl.ItemTemplate?

Нерабочая попытка:

<ControlTemplate TargetType="{x:Type local:ParentUserControl}">
        <ItemsControl ItemsSource="{Binding MyCollectionViewSource.View, RelativeSource={RelativeSource TemplatedParent}}"
                  IsTabStop="False"
                  Focusable="False">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <local:ChildUserControl BoundProp1="{Binding Prop1}"
                     BoundObjProp2="{Binding RelativeSource={RelativeSource    
                     Mode=FindAncestor, 
                     AncestorType={x:Type local:ParentUserControl}}}"/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>    
        </ItemsControl>
</ControlTemplate>

Ответы [ 3 ]

1 голос
/ 26 апреля 2013

У меня было похожее требование, и у меня сработало следующее:

<ItemsControl ItemsSource="{Binding Items}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapGrid Orientation="Horizontal" ItemWidth="{Binding ItemWidth}" ItemHeight="{Binding ItemHeight}"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>

    <ItemsControl.ItemTemplate>
        <DataTemplate >
            <views:MyUserControl
                Width="{Binding DataContext.ItemWidth, ElementName=PageRoot}"
                Height="{Binding DataContext.ItemHeight, ElementName=PageRoot}"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

P.S. мое приложение на XAML для WinRT

1 голос
/ 23 сентября 2011

Привязка выглядит нормально для меня, но вы не указываете Binding.Path, вы уверены, что хотите связать напрямую с элементом управления, а не со свойством?

0 голосов
/ 08 апреля 2012

Я не нашел решения этой проблемы. В конце концов мне пришлось использовать обходные пути, которые нарушали мое желаемое разделение интересов, но работали так, как ожидалось. Я полагаю, что это сводится к проблеме в структуре wpf, надеюсь, 4.5 исправит ее.

...