WPF DataTemplate - свойство доступа родительского объекта - PullRequest
0 голосов
/ 27 сентября 2018

Я настраиваю презентацию, используя HeaderTemplate элемента пользовательского интерфейса.Я хотел бы получить доступ к свойству родительского элемента в DataTemplate:

    <dxa:AccordionItem Header="{Binding SelectedComponents.Count}" Tag="Test" HighlightOnHover="False" HighlightOnPress="False" Margin="0,0,13,0">
                <dxa:AccordionItem.HeaderTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="30"/>
                                <RowDefinition Height="1"/>
                            </Grid.RowDefinitions>
                            <TextBlock Text="{Binding RelativeSource=Tag}" VerticalAlignment="Center" />
                            <TextBlock Text="{Binding}" Grid.Column="2" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                            <Rectangle Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Stretch"  VerticalAlignment="Center" Fill="DimGray" Height="1"/>
                        </Grid>
                    </DataTemplate>
                </dxa:AccordionItem.HeaderTemplate>
</dxa:AccordionItem>

По сути, я хотел бы отобразить свойство Tag в DataTemplate.

Я пробовал:

Text="{Binding RelativeSource=Tag}"
Text="{Binding Path=Tag}"
Text="{Binding ElementName=Tag}"

, но, похоже, ничего не работает.

1 Ответ

0 голосов
/ 27 сентября 2018

Мне удалось получить необходимое связывание, используя следующий метод:

Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type dxa:AccordionItem}}, Path=Tag}"
...