C# 子元素在FlipView内部重复

C# 子元素在FlipView内部重复,c#,windows-8,windows-runtime,windows-store-apps,winrt-xaml,C#,Windows 8,Windows Runtime,Windows Store Apps,Winrt Xaml,我有一个FlipView,它有一个包含NotebookPageCanvas的数据模板。NotebookPageCanvas源于Canvas并包含一个InkManager。我正在动态地将子元素添加到此画布,我发现子元素在FlipView的其他页面上重复 例如,如果我从FlipView中的10个项目开始,当我在索引0处向画布动态添加一个矩形时,该矩形也将添加到索引3处的画布。FlipView中有三个项目,一切正常,但之后,我找不到子控件的行为模式。这是我的FlipView XAML <Flip

我有一个FlipView,它有一个包含NotebookPageCanvas的数据模板。NotebookPageCanvas源于Canvas并包含一个InkManager。我正在动态地将子元素添加到此画布,我发现子元素在FlipView的其他页面上重复

例如,如果我从FlipView中的10个项目开始,当我在索引0处向画布动态添加一个矩形时,该矩形也将添加到索引3处的画布。FlipView中有三个项目,一切正常,但之后,我找不到子控件的行为模式。这是我的FlipView XAML

<FlipView
        x:Name="flipView"
        AutomationProperties.AutomationId="ItemsFlipView"
        AutomationProperties.Name="Item Details"
        TabIndex="1"
        Grid.RowSpan="2"

        ItemsSource="{Binding Source={StaticResource itemsViewSource}}" SelectionChanged="flipView_SelectionChanged" >

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

        <FlipView.ItemTemplate>
            <DataTemplate>


                <local:NotebookPageCanvas  x:Name="InkCanvas" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                    <Canvas.Background>
                        <SolidColorBrush Color="{Binding BackgroundColor}" />
                    </Canvas.Background>

                    <TextBlock Foreground="BlueViolet" Canvas.Left="0" Canvas.Top="100" Text="{Binding Title}" />

                </local:NotebookPageCanvas>


            </DataTemplate>
        </FlipView.ItemTemplate>
    </FlipView>


知道我做错了什么吗?

显然
FlipView
虚拟化是在需要加载更多数据时回收现有项目。在画布与新的
DataContext
关联之前,您只需要擦除画布的内容。一种方法可能是使用绑定填充画布的子级,并在添加新内容之前始终擦除现有内容