与不同FlipViewItems相同的画布

时间:2013-02-18 02:25:11

标签: c# xaml canvas windows-store-apps

我正在使用flipviews从我的程序中制作不同的方法。但是我需要为每个不同的视图使用相同的画布。

有办法吗?

我的代码是这样的:

<FlipView x:Name="_flipVw1">
   <FlipViewItem x:Name="ViewModelos">
      <Canvas x:Name="canvas"/>
   </FlipViewItem>
   <FlipViewItem x:Name="ViewModelos">
      <Canvas x:Name="canvas1"/>
   </FlipViewItem>
   <FlipViewItem x:Name="ViewModelos">
      <Canvas x:Name="canvas2"/>
   </FlipViewItem>
 </FlipView>

<FlipView x:Name="_flipVw1"> <FlipViewItem x:Name="ViewModelos"> <Canvas x:Name="canvas"/> </FlipViewItem> <FlipViewItem x:Name="ViewModelos"> <Canvas x:Name="canvas1"/> </FlipViewItem> <FlipViewItem x:Name="ViewModelos"> <Canvas x:Name="canvas2"/> </FlipViewItem> </FlipView>

而不是这个,我希望所有FlipViewItem都有相同的画布。

1 个答案:

答案 0 :(得分:0)

不幸的是,您的Canvas只能拥有一个逻辑父级,您将无法将同一个Canvas添加到多个FlipViewItems

为什么它们都需要相同Canvas,如果它们只是有共同的布局控件或者你可以制作ControlTemplate

如果你解释了你的最终目标,那么有人可能会提供帮助。

一个想法可能是制作一个VisualBrush Canvas,并将VisualBrush应用于所有FlipViewItems,当你画出VisualBrush时} Canvas更新用户界面,他们都应该显示相同的内容。

<Window.Resources>
    <VisualBrush x:Key="MyCanvasVisual">
        <VisualBrush.Visual>
            <Canvas />
        </VisualBrush.Visual>
    </VisualBrush>
</Window.Resources>

<FlipViewItem>
    <FlipViewItem Content="{StaticResource MyCanvasVisual}" />
    <FlipViewItem Content="{StaticResource MyCanvasVisual}" />
    <FlipViewItem Content="{StaticResource MyCanvasVisual}" />
</FlipViewItem>

但是我不知道你在画布上画画的地方,所以这个approch可能不适用于你的情况