【问题标题】:Same canvas to different FlipViewItems相同的画布到不同的 FlipViewItem
【发布时间】:2013-02-18 02:25:10
【问题描述】:

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

有没有办法做到这一点?

我的代码是这样的:

<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 使用相同的画布而不是这个。

【问题讨论】:

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


    【解决方案1】:

    很遗憾,您的Canvas 只能有一个逻辑父级,您将无法将相同的Canvas 添加到多个FlipViewItems

    为什么他们都需要相同的Canvas,如果他们只是有共同的布局控件或类似的东西你可以做一个ControlTemplate

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

    一个想法可能是创建一个VisualBrush,即Canvas,并将VisualBrush 应用于所有FlipViewItems,当您在VisualBrush 上绘制所有Canvas 时更新UI,他们应该都显示相同。

    <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>
    

    但是我不确定您在画布上的哪个位置绘图,因此此方法可能不适用于您的情况

    【讨论】:

    • 这与布局控件无关。我有一些要在画布中更新的指针事件。当我在画布上画东西时,我想在所有其他画布上画同样的东西。
    • 所有FlipViewItems 都同时可见?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多