C#UWP-通知小组

C#UWP-通知小组,c#,uwp,C#,Uwp,我正在学习c#(UWP),并在XAML中创建了一个通知文本块 这是: <Storyboard x:Name="notificationPanel1"> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="notificationBorder"> <DiscreteObjectKey

我正在学习c#(UWP),并在XAML中创建了一个通知文本块

这是:

<Storyboard x:Name="notificationPanel1">
    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="notificationBorder">
        <DiscreteObjectKeyFrame KeyTime="0">
            <DiscreteObjectKeyFrame.Value>
                <Thickness>0,-80,0,0</Thickness>
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="notificationBorder">
        <EasingDoubleKeyFrame KeyTime="0" Value="0">
            <EasingDoubleKeyFrame.EasingFunction>
                <BackEase EasingMode="EaseInOut"/>
            </EasingDoubleKeyFrame.EasingFunction>
        </EasingDoubleKeyFrame>
        <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="75">
            <EasingDoubleKeyFrame.EasingFunction>
                <BackEase EasingMode="EaseInOut"/>
            </EasingDoubleKeyFrame.EasingFunction>
        </EasingDoubleKeyFrame>
        <EasingDoubleKeyFrame KeyTime="0:0:2" Value="75">
            <EasingDoubleKeyFrame.EasingFunction>
                <BackEase EasingMode="EaseInOut"/>
            </EasingDoubleKeyFrame.EasingFunction>
        </EasingDoubleKeyFrame>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>
<Grid>
....
        <Border x:Name="notificationBorder" BorderBrush="{x:Null}" VerticalAlignment="Top" Margin="0,-80,0,0" RenderTransformOrigin="0.5,0.5">
            <Border.RenderTransform>
                <CompositeTransform/>
            </Border.RenderTransform>
            <TextBlock x:Name="notificationTxt" TextWrapping="Wrap" Padding="0"  TextAlignment="Center" Foreground="White" Text="sdfdsfsdf" Margin="0,15"/>
        </Border>
....
</Grid>

0,-80,0,0
....
....
有更好的方法吗?因为,现在我必须将这个XAML复制到所有页面

Mb动态生成这个?但我不知道怎么做,你能给我一个提示吗

顺便说一句:这基本上是动画通知面板


谢谢

看看这个例子。这是针对Xamarin应用程序的,但示例是特定于UWP的。它将在屏幕底部显示一个通知,而不是显示其他所有内容的顶部。它可以在静态方法中调用。实际的示例应用程序可能有点混乱,但如果您了解Xamarin表单的工作原理,您将能够提取出所需的内容。回购协议就在这里


您需要的是将其置于usercontrol中,然后在所有页面中使用它@佩德罗拉斯,谢谢你的回复。正如我所说,我正在学习C#,所以现在我不知道如何创建自定义控件。但我会在谷歌上查一下。带有用户控件的ThanksStart(它就像一个页面,您可以直接从VisualStudio添加它);由于您仍在学习,它将比自定义控件更易于处理!美好的谢谢:)我发现下面的课程对控制很有帮助