0

我有一个全景应用程序,并且已本地化。它应用于应用程序的流向:

FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
RootFrame.FlowDirection = flow;

这样它就应用了应用程序的方向,但问题是我不希望背景图像的方向也改变:

<phone:Panorama.Background>
<ImageBrush ImageSource="/MyApp;component/Assets/CustomBackground.png"/>
</phone:Panorama.Background>

所以我想我可以改变FlowDirection这个背景图像,或者使用它的名字来改变它,或者添加一些类似的东西StackPanel并改变它的方向,但最后都没有工作。

如何不允许背景图像的方向改变,或者如何为其分配首选方向?(这是一个 Windows Phone 8 应用程序)

4

1 回答 1

2

将全景图本身的 FlowDirection 设置为 LeftToRight,但更改 PanoramaItem 控件的 FlowDirection 以匹配全景图的父控件

例子:

<Grid x:Name="LayoutRoot" Background="Transparent" FlowDirection="RightToLeft">

     <!--Panorama control-->
    <phone:Panorama Title="my application" FlowDirection="LeftToRight">
        <phone:Panorama.Background>
            <ImageBrush ImageSource="/PanoramaApp1;component/Assets/PanoramaBackground.png"/>
        </phone:Panorama.Background>

        <!--Panorama item one-->
        <phone:PanoramaItem Header="first item" FlowDirection="{Binding FlowDirection, ElementName=LayoutRoot}">

        </phone:PanoramaItem>

        <!--Panorama item two-->
        <phone:PanoramaItem FlowDirection="{Binding FlowDirection, ElementName=LayoutRoot}">
        </phone:PanoramaItem>
    </phone:Panorama>
</Grid>

此外,该应用程序将流向任何手机的文化。不需要存储 FlowDirection。根据这些知识,您将从 Grid (LayoutRoot) 中删除 FlowDirection 属性,但将其保留在 Panorama/PanoramaItems 上,以便正确设置它们

于 2013-07-05T18:13:27.323 回答