在Wpf中显示通知

时间:2015-06-29 14:10:14

标签: c# wpf

我想显示一个涉及标签的网格,我想在另一个网格的左上方显示它.wpf代码(xml)是这样的:

<Grid.Triggers>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)" >
                            <SplineDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
                            <SplineDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
                        </DoubleAnimationUsingKeyFrames>
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
                            <SplineDoubleKeyFrame KeyTime="0:0:2" Value="1"/>
                            <SplineDoubleKeyFrame KeyTime="0:0:5" Value="0"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Grid.Triggers>
        <Grid.RenderTransform>
        <ScaleTransform ScaleY="1" />

</Grid>

按按钮时如何创建此通知? 我有C#代码。 感谢。

1 个答案:

答案 0 :(得分:1)

按下按钮时在网格上设置Grid.Visibility。您需要一个符合条件的名称x:Name="MyGrid",然后可以设置后面代码的可见性。

如果你使用像MVVM这样的方法,那么你可以将网格的可见性数据绑定到ViewModel中的bool(并使用DataTrigger代替EventTrigger

编辑:

尽可能少:

<Grid x:Name="NotifyGrid" Visibility="Hidden">
    <Label Content="Notification" />
</Grid>

<Button Content="Click" Click="Button_Click" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="50" />

然后在守则背后:

private void Button_Click(object sender, RoutedEventArgs e)
{
     NotifyGrid.Visibility = System.Windows.Visibility.Visible;
}