【问题标题】:UWP App - background image is getting lost on navigateUWP 应用程序 - 背景图像在导航时丢失
【发布时间】:2017-08-09 16:25:25
【问题描述】:

我正在开发 UWP 应用,但在导航到不同页面时遇到了背景图像更改的问题。

在我的 RootPage.xaml 文件中,我有这个布局

 <Grid x:Name="Root">
    <Grid.Background>
        <ImageBrush 
            ImageSource="{Binding ImageSource}" 
            Stretch="UniformToFill" />
    </Grid.Background>
    <SplitView Name="Splitter" IsPaneOpen="False" DisplayMode="Overlay" PaneBackground="Transparent">
        <SplitView.Pane>
            <Grid>
                <!-- list view -->
            </Grid>
        </SplitView.Pane>
        <Frame Name="MainFrame"></Frame>
    </SplitView>
</Grid>

在我后面的代码中,我像这样处理选择更改事件中的更改

private void SectionList_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        // code to get the navigation item page the event args
        // then navigate like so
        MainFrame.Navigate(item.DestinationPage);
    }

但是当我导航到其他页面之一时,我在网格上设置的背景图像丢失了。它只是变黑。

我在这里遗漏了一些东西,我一直在观看大量教程,但一定遗漏了一些东西。我只想要框架所在的页面内容,并根据用户导航到的位置替换它。但是让拆分视图导航的内容保留在每个页面上。

【问题讨论】:

    标签: c# xaml uwp uwp-xaml


    【解决方案1】:

    导航到“DestinationPage”后,您将看到该页面根元素上设置的任何背景(默认为:{ThemeResource ApplicationPageBackgroundThemeBrush})。

    如果您希望页面是透明的,以便用户看到根 Grid 的背景图片,您可以在页面的根元素上设置 Background="Transparent"。

    希望这会有所帮助 - 谢谢!

    斯蒂芬·威克

    【讨论】:

    • 昨晚注意到这个,忘记更新了。是的,你是对的!新页面默认设置背景为ApplicationPageBackgroundThemeBrush
    猜你喜欢
    • 2017-01-31
    • 2015-06-19
    • 1970-01-01
    • 2020-08-31
    • 2019-08-01
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多