我想显示一个涉及标签的网格,我想在另一个网格的左上方显示它.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#代码。 感谢。
答案 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;
}