Как сделать привязку Элемент-Элемент внутри DataTemplate

У меня есть элемент управления FlipView

imageFlipview

который находится в DataTemplete его родительского FlipView с именем

FlipView

У меня есть элемент управления, который является родственным элементом управления imageFlipView с именем

imageIndicator

Теперь для imageIndicator требуется привязка Element-to-Element, но он не работает внутри DataTemplate. Вот код

            <FlipView
            x:Name="flipView"
            AutomationProperties.AutomationId="ItemsFlipView"
            AutomationProperties.Name="Item Details"
            TabIndex="1"
            Grid.RowSpan="2"
            ItemsSource="{Binding Source={StaticResource itemsViewSource}}">

            <FlipView.ItemContainerStyle>
                <Style TargetType="FlipViewItem">
                    <Setter Property="Margin" Value="0,137,0,0"/>
                </Style>
            </FlipView.ItemContainerStyle>

            <FlipView.ItemTemplate>
                <DataTemplate>
                    <UserControl Loaded="StartLayoutUpdates" Unloaded="StopLayoutUpdates">
                        <ScrollViewer x:Name="scrollViewer" Style="{StaticResource HorizontalScrollViewerStyle}" Grid.Row="1">
                                <StackPanel Orientation="Vertical" Grid.Column="0" Loaded="StackPanel_Loaded_1">
                                    <TextBlock FontSize="30" FontFamily=" Tahoma" FontWeight="Normal" Text="{Binding Title}" TextWrapping="Wrap"/>
                                    <FlipView x:Name="imageFlip" Loaded="imageFlip_Loaded_1" Visibility="Visible" Margin="0,0,0,10" VerticalAlignment="Top" Height="515" >
                                        <Image x:Name="image1" Width="400" HorizontalAlignment="Left" Margin="0,0,0,10" Stretch="Uniform" Source="{Binding ImagePath1}" VerticalAlignment="Top"/>
                                        <Image x:Name="image2" Width="350" HorizontalAlignment="Left" Margin="0,0,0,10" Stretch="Uniform" Source="{Binding ImagePath1}" VerticalAlignment="Top"/>
                                        <Image x:Name="image3" Width="300" HorizontalAlignment="Left" Margin="0,0,0,10" Stretch="Uniform" Source="{Binding ImagePath1}" VerticalAlignment="Top"/>
                                        <Image x:Name="image4" Width="250" HorizontalAlignment="Left" Margin="0,0,0,10" Stretch="Uniform" Source="{Binding ImagePath1}" VerticalAlignment="Top"/>
                                    </FlipView>
                                    <callisto:FlipViewIndicator x:Name="imageIndicator" FlipView="{Binding ElementName=imageFlip}"/>
                                </StackPanel>
                        </ScrollViewer>
                    </UserControl>
                </DataTemplate>
            </FlipView.ItemTemplate>
        </FlipView>

Любая помощь будет оценена

1 ответ

Ответ довольно прост. Ваш второй FlipView должен быть поставлен другому ObservableListкак первый FlipView, Разница в том, что второй источник элементов должен быть внутри класса данных.

Другие вопросы по тегам