Как изменить направление потока фонового изображения?

Вопрос:

У меня есть приложение для панорамы и локализовано. применяется направление потока для приложения:

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-телефона 8)

Лучший ответ:

Установите FlowDirection самой Панорамы как LeftToRight, но измените FlowDirection элементов управления PanoramaItem в соответствии с родительским элементом управления вашей панорамой

Пример:

<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. Пользуясь этими знаниями, вы удалите свойство FlowDirection из Grid (LayoutRoot), но оставьте его на объектах Panorama/PanoramaItems, чтобы они были правильно установлены

Оцените статью
TechArks.Ru
Добавить комментарий