Не удается изменить фон flipview'а в uwp? - PullRequest
0 голосов
/ 23 июня 2018

Я обнаружил, что фон flipview не может измениться ...

<Page
    x:Class="CoreSocialistValues.Views.ImageGalleryCSV2DetailPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:models="using:CoreSocialistValues.Models"
    KeyDown="OnKeyDown"
    mc:Ignorable="d">

    <Page.Resources>
        <Storyboard x:Name="showFlipView" Completed="OnShowFlipViewCompleted">
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="flipView" BeginTime="0:0:0.5">
                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
            </ObjectAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="shapeGrid" BeginTime="0:0:0.5">
                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
            </ObjectAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="previewImage" BeginTime="0:0:0.6">
                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
            </ObjectAnimationUsingKeyFrames>
        </Storyboard>
    </Page.Resources>

    <Grid>
        <FlipView Background="SeaGreen"
            x:Name="flipView"
            Visibility="Visible"
            FocusVisualPrimaryThickness="1,1,1,1"
            ItemsSource="{x:Bind Source}"
            SelectedItem="{x:Bind SelectedImage, Mode=TwoWay}">
            <FlipView.ItemTemplate>
                <DataTemplate x:DataType="models:SampleImage">
                    <Viewbox StretchDirection="DownOnly">
                        <Image
                            x:Name="detailImage"
                            Stretch="None"
                            Source="{x:Bind Source, Mode=OneWay}" />
                    </Viewbox>
                </DataTemplate>
            </FlipView.ItemTemplate>
        </FlipView>


        <Grid x:Name="shapeGrid"/>
        <Image
            x:Name="previewImage"
            Style="{StaticResource DetailImageStyle}"
            Source="{x:Bind SelectedImage.(models:SampleImage.Source), Mode=OneWay}" />
    </Grid>
</Page>

И я попытался изменить шаблон flipview, ничего не произошло.

Я создаю новый проект, flipview'sфон можно изменить ....

Так есть ли способ изменить его?

1 Ответ

0 голосов
/ 27 июня 2018

Пожалуйста, смотрите ImageGalleryCSV2DetailPage, я хочу установить прозрачный фон, чтобы весь фон окна казался размытым.

Проблема неудачной настройки фона для FlipView заключается в том, что у вас есть собственный стиль для FlipView в /Styles/FlipView.xaml.В этом стиле вы устанавливаете фон «Прозрачный» для Grid, который является корневой панелью в шаблоне ControlTemplate вашего FlipView.Он будет покрывать фон, когда вы установите фон для FlipView.По этой причине вы всегда не можете видеть фон, когда вы устанавливаете для FlipView.

Вы можете использовать {TemplateBinding Background}, как показано ниже:

<Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="FlipView">
                <Grid Background="{TemplateBinding Background}"
......

После этого, если вы установитеBackground="SeaGreen" для FlipView, вы увидите, что он работает хорошо.

enter image description here

Затем вы сказали that the whole window background seems blured.

Чтобы добиться этого эффекта, вам нужно нанести немного Акриловой кисти на фон.

Например,

<FlipView 
        x:Name="flipView" Background="{StaticResource SystemControlAcrylicWindowBrush}"
......
...