WPF制作子窗体的弹出动画效果
创建一个WPF应用程序WpfApplication1,新建个窗体DialogWin
- <Windowx:Class="WpfApplication1.DialogWin"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="DialogWin"Height="632"Width="635"WindowStyle="None"
- Name="DW1" Background="Transparent"AllowsTransparency="True"WindowStartupLocation="CenterScreen"WindowState="Normal">
- <Window.Resources>
- <!--此样式能去除按钮点击后的虚线框-->
- <Stylex:Key="MyFocusVisual">
- <SetterProperty="Control.Template">
- <Setter.Value>
- <ControlTemplate>
- <RectangleMargin="-2"StrokeThickness="0"Stroke="Red"StrokeDashArray="1 2"/>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <!--原始旋转出来样例-->
- <Storyboardx:Key="showDW">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="Opacity"
- From="0.2"To="1"Duration="0:0:2.5">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
- From="70"To="0"Duration="0:0:2">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="0"To="1"Duration="0:0:2"
- AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="0"To="1"Duration="0:0:2"
- AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"
- DecelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"
- DecelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"
- AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"
- AccelerationRatio="1">
- </DoubleAnimation>
- </Storyboard>
- <!--原始的旋转回去样例-->
- <Storyboardx:Key="closeDW">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
- To="360"Duration="0:0:1.5">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="Opacity"
- To="0"Duration="0:0:3">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- To="0"Duration="0:0:1.5"AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- To="0"Duration="0:0:1.5"AccelerationRatio="1">
- </DoubleAnimation>
- </Storyboard>
- <!--转出来-->
- <Storyboardx:Key="showDW1">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="Opacity"
- From="0"To="1"Duration="0:0:0.2">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
- From="180"To="0"Duration="0:0:0.2">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="0.2"To="1"Duration="0:0:0.2"
- AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="0.2"To="1"Duration="0:0:0.2"
- AccelerationRatio="1">
- </DoubleAnimation>
- </Storyboard>
- <!--弹出来-->
- <Storyboardx:Key="showDW2">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="0.2"To="0.5"Duration="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="0.2"To="0.5"Duration="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="1"To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="1" To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">
- </DoubleAnimation>
- </Storyboard>
- <!--转回去-->
- <Storyboardx:Key="closeDW1">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
- To="180"Duration="0:0:0.2">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="Opacity"
- To="0"Duration="0:0:0.2">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- To="0.2"Duration="0:0:0.2"AccelerationRatio="1">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- To="0.2"Duration="0:0:0.2"AccelerationRatio="1">
- </DoubleAnimation>
- </Storyboard>
- <!--弹回去-->
- <Storyboardx:Key="closeDW2">
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="1"To="1.2"Duration="0:0:0.04" AutoReverse="True">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="1"To="1.2"Duration="0:0:0.04" AutoReverse="True">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
- From="0.5"To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08" >
- </DoubleAnimation>
- <DoubleAnimationStoryboard.TargetName="Canvas1"
- Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
- From="0.5" To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08">
- </DoubleAnimation>
- </Storyboard>
- </Window.Resources>
- <Window.Triggers>
- <!--设置DW1的事件触发-->
- <!--注意对窗体window的name取为DW1-->
- <EventTriggerSourceName="DW1"RoutedEvent="Window.Loaded">
- <BeginStoryboardName="showQueryCanvasStoryboard2"
- Storyboard="{StaticResource showDW}">
- </BeginStoryboard>
- </EventTrigger>
- <!--设置button1的事件触发-->
- <!--注意对按钮的name取为button1-->
- <EventTriggerSourceName="button1"RoutedEvent="Button.Click">
- <BeginStoryboardName="closeQueryCanvasStoryboard"
- Storyboard="{StaticResource closeDW}">
- </BeginStoryboard>
- </EventTrigger>
- </Window.Triggers>
- <CanvasBackground="Transparent"Height="257"Width="214">
- <CanvasBackground="Brown"Height="236"Width="201"Canvas.Left="9"Canvas.Top="14"Name="Canvas1">
- <!--设置动画-->
- <Canvas.RenderTransform>
- <TransformGroup>
- <ScaleTransformCenterX="100"CenterY="50"></ScaleTransform><!--缩放中心为100,50。RenderTransform.Children[0]-->
- <RotateTransformCenterX="100"CenterY="50"></RotateTransform><!--旋转中心为100,50。RenderTransform.Children[1]-->
- </TransformGroup>
- </Canvas.RenderTransform>
- <ButtonMargin="98,107,124,127"Name="button1" FocusVisualStyle="{DynamicResource MyFocusVisual}"
- Click="button1_Click" Height="28"Width="112"Canvas.Left="-53"Canvas.Top="77">关闭</Button>
- <CheckBoxHeight="31"HorizontalAlignment="Left"Margin="32,25,0,0"Name="checkBox1"VerticalAlignment="Top"Width="75"Canvas.Left="11"Canvas.Top="-1">CheckBox</CheckBox>
- <TextBlockHeight="35"Margin="124,21,34,0"Name="textBlock1"VerticalAlignment="Top"Background="BlueViolet"Text="dfdf"Width="60"Canvas.Left="-73"Canvas.Top="43"/>
- </Canvas>
- </Canvas>
- </Window>
<Window x:Class="WpfApplication1.DialogWin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="DialogWin" Height="632" Width="635" WindowStyle="None"
Name="DW1" Background="Transparent" AllowsTransparency="True" WindowStartupLocation="CenterScreen" WindowState="Normal">
<Window.Resources>
<!--此样式能去除按钮点击后的虚线框-->
<Style x:Key="MyFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="-2" StrokeThickness="0" Stroke="Red" StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--原始旋转出来样例-->
<Storyboard x:Key="showDW">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="Opacity"
From="0.2" To="1" Duration="0:0:2.5">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
From="70" To="0" Duration="0:0:2" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="0" To="1" Duration="0:0:2"
AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="0" To="1" Duration="0:0:2"
AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
To="0.98" BeginTime="0:0:2" Duration="0:0:0.05"
DecelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
To="0.98" BeginTime="0:0:2" Duration="0:0:0.05"
DecelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
To="1" BeginTime="0:0:2.05" Duration="0:0:0.2"
AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
To="1" BeginTime="0:0:2.05" Duration="0:0:0.2"
AccelerationRatio="1">
</DoubleAnimation>
</Storyboard>
<!--原始的旋转回去样例-->
<Storyboard x:Key="closeDW">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
To="360" Duration="0:0:1.5" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="Opacity"
To="0" Duration="0:0:3">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
To="0" Duration="0:0:1.5" AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
To="0" Duration="0:0:1.5" AccelerationRatio="1">
</DoubleAnimation>
</Storyboard>
<!--转出来-->
<Storyboard x:Key="showDW1">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="Opacity"
From="0" To="1" Duration="0:0:0.2">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
From="180" To="0" Duration="0:0:0.2" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="0.2" To="1" Duration="0:0:0.2"
AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="0.2" To="1" Duration="0:0:0.2"
AccelerationRatio="1">
</DoubleAnimation>
</Storyboard>
<!--弹出来-->
<Storyboard x:Key="showDW2">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="0.2" To="0.5" Duration="0:0:0.04" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="0.2" To="0.5" Duration="0:0:0.04" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="0.5" To="1" Duration="0:0:0.04" BeginTime="0:0:0.04" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="0.5" To="1" Duration="0:0:0.04" BeginTime="0:0:0.04">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="1" To="1.2" Duration="0:0:0.04" BeginTime="0:0:0.08" AutoReverse="True" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="1" To="1.2" Duration="0:0:0.04" BeginTime="0:0:0.08" AutoReverse="True">
</DoubleAnimation>
</Storyboard>
<!--转回去-->
<Storyboard x:Key="closeDW1">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
To="180" Duration="0:0:0.2" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="Opacity"
To="0" Duration="0:0:0.2">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
To="0.2" Duration="0:0:0.2" AccelerationRatio="1">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
To="0.2" Duration="0:0:0.2" AccelerationRatio="1">
</DoubleAnimation>
</Storyboard>
<!--弹回去-->
<Storyboard x:Key="closeDW2">
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="1" To="1.2" Duration="0:0:0.04" AutoReverse="True">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="1" To="1.2" Duration="0:0:0.04" AutoReverse="True">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="1" To="0.5" Duration="0:0:0.04" BeginTime="0:0:0.04" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="1" To="0.5" Duration="0:0:0.04" BeginTime="0:0:0.04">
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
From="0.5" To="0.2" Duration="0:0:0.04" BeginTime="0:0:0.08" >
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="Canvas1"
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
From="0.5" To="0.2" Duration="0:0:0.04" BeginTime="0:0:0.08" >
</DoubleAnimation>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<!--设置DW1的事件触发-->
<!--注意对窗体window的name取为DW1-->
<EventTrigger SourceName="DW1" RoutedEvent="Window.Loaded">
<BeginStoryboard Name="showQueryCanvasStoryboard2"
Storyboard="{StaticResource showDW}">
</BeginStoryboard>
</EventTrigger>
<!--设置button1的事件触发-->
<!--注意对按钮的name取为button1-->
<EventTrigger SourceName="button1" RoutedEvent="Button.Click">
<BeginStoryboard Name="closeQueryCanvasStoryboard"
Storyboard="{StaticResource closeDW}">
</BeginStoryboard>
</EventTrigger>
</Window.Triggers>
<Canvas Background="Transparent" Height="257" Width="214">
<Canvas Background="Brown" Height="236" Width="201" Canvas.Left="9" Canvas.Top="14" Name="Canvas1">
<!--设置动画-->
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform CenterX="100" CenterY="50"></ScaleTransform><!--缩放中心为100,50。RenderTransform.Children[0]-->
<RotateTransform CenterX="100" CenterY="50"></RotateTransform><!--旋转中心为100,50。RenderTransform.Children[1]-->
</TransformGroup>
</Canvas.RenderTransform>
<Button Margin="98,107,124,127" Name="button1" FocusVisualStyle="{DynamicResource MyFocusVisual}"
Click="button1_Click" Height="28" Width="112" Canvas.Left="-53" Canvas.Top="77">关闭</Button>
<CheckBox Height="31" HorizontalAlignment="Left" Margin="32,25,0,0" Name="checkBox1" VerticalAlignment="Top" Width="75" Canvas.Left="11" Canvas.Top="-1">CheckBox</CheckBox>
<TextBlock Height="35" Margin="124,21,34,0" Name="textBlock1" VerticalAlignment="Top" Background="BlueViolet" Text="dfdf" Width="60" Canvas.Left="-73" Canvas.Top="43" />
</Canvas>
</Canvas>
</Window>
cs代码:
添加引用
- using System.Windows.Threading
using System.Windows.Threading
- privatevoid button1_Click(object sender, RoutedEventArgs e)
- {
- // this.Close();
- /////timer定义
- tm.Tick += new EventHandler(tm_Tick);
- tm.Interval = TimeSpan.FromSeconds(0.2);
- tm.Start();
- }
- DispatcherTimer tm = new DispatcherTimer();
- void tm_Tick(object sender, EventArgs e)
- { this.Close(); }
private void button1_Click(object sender, RoutedEventArgs e)
{
// this.Close();
/////timer定义
tm.Tick += new EventHandler(tm_Tick);
tm.Interval = TimeSpan.FromSeconds(0.2);
tm.Start();
}
DispatcherTimer tm = new DispatcherTimer();
void tm_Tick(object sender, EventArgs e)
{ this.Close(); }
其中动画目标为Canvas1,包括:
慢速旋转显示(showDW)、慢速旋转消失(closeDW)
快速旋转显示(showDW1)、快速旋转消失(closeDW1)
快速弹出显示(showDW2)、快速旋转消失(closeDW2)
快速旋转显示(showDW1):
time:0 → 0.2
旋转角度:180→0
透明度: 0→1
放大: X向:0.2→1 Y向:0.2→1
快速弹出显示(showDW2):
time:0 → 0.04 → 0.08 →← 0.12
放大 放大 放大(并复原)
X向:0.2→0.5 0.5→1 1→1.2→1
Y向:0.2→0.5 0.5→1 1→1.2→1
最后在主窗口的
1.MainWindow.xaml里的<Grid>之间放上按钮:
<Grid>
<Button Content="显示子窗口" Height="23" Click="ShowWindow_Click" Margin="114,138,141,138" />
</Grid>
2.MainWindow.xaml.cs里加上相应的按钮事件:
public partial class MainWindow : Window
{
DialogWin myChildWindow = new DialogWin();
public MainWindow()
{
InitializeComponent();
//子窗口事件绑定
myChildWindow.Closed += new EventHandler(myChildWindow_Closed);
}
#region 子窗口事件代码
void myChildWindow_Closed(object sender, EventArgs e)
{
}
private void ShowWindow_Click(object sender, RoutedEventArgs e)
{
myChildWindow.Title = "子窗口信息";
SolidColorBrush(Colors.Yellow);
myChildWindow.Opacity = 0.9;
myChildWindow.Foreground = new SolidColorBrush(Colors.Red);
myChildWindow.FontSize = 14;
myChildWindow.Show();
}
#endregion
}
WPF制作子窗体的弹出动画效果的更多相关文章
- mac关闭渐隐和弹出动画效果
苹果系统应用程序的窗口和对话框每次使用的时候都有华丽的特效,但是如果你感觉这种特效显得有点慢(MacGG闲的蛋疼),那该如何取消掉他呢? 方法很简单,打开"终端"(Finder-& ...
- C# 设置MDI子窗体只能弹出一个的方法
Windows程序设计中的MDI(Multiple Document Interface)官方解释就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows .0下的Mi ...
- 原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)
用javascript实现简单的下拉折叠菜单效果 实现步骤 (a)获得各操作的dom对象: (b)在所有菜单按钮对象上添加单击事件: (c)设置所有菜单按钮样式为空,并将当前按钮的样式设置为“acti ...
- Bootboxjs快速制作Bootstrap的弹出框效果
Bootboxjs是一个简单的js库,简单快捷帮你制作一个Bootstrap的弹出框效果. 一.简介 bootbox.js是一个小的JavaScript库,它帮助您在使用bootstrap框架的时候快 ...
- pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...
- 在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
在基于DevExpress的多文档窗口界面中,我们一般使用XtraTabbedMdiManager来管理多文档窗口的一些特性,如顶部菜单,页面的关闭按钮处理,以及一些特殊的设置,本篇随笔介绍这些特点, ...
- 阶段一:为View设置阴影和弹出动画(天气应用)
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 上一篇阶段一:通过网络请求,获得并解析JSON数据(天气应用)完成了应用的核心功能,接下来就要对它进行优化.今天我 ...
- iphone弹出窗口效果的制作(Core animation, CALayer)
效果类似人人网微薄客户端的弹出效果 static CGFloat kTransitionDuration = 0.3; - (void)initView { UIWindow *window = [U ...
- IOS项目之弹出动画终结篇
在之前写过IOS项目之弹出动画一.IOS项目之弹出动画二.IOS项目之弹出动画三,今天来一个终极封装已经上传到Github上弹出动画总结篇UIPopoverTableView. UIPopoverTa ...
随机推荐
- linux笔记:linux常用命令-文件搜索命令
文件搜索命令:find(文件搜索) 一些示例: 注意:在以文件名为条件进行搜索时,支持通配符. 多条件搜索,以及直接对搜索到的文件进行操作: 文件搜索命令:locate(在文件资料库中查找文件) 文件 ...
- Android利用V4包中的SwipeRefreshLayout实现上拉加载
基本原理 上拉加载或者说滚动到底部时自动加载,都是通过判断是否滚动到了ListView或者其他View的底部,然后触发相应的操作,这里我们以 ListView来说明.因此我们需要在监听ListView ...
- [Hadoop 周边] 浅谈大数据(hadoop)和移动开发(Android、IOS)开发前景【转】
原文链接:http://www.d1net.com/bigdata/news/345893.html 先简单的做个自我介绍,我是云6期的,黑马相比其它培训机构的好偶就不在这里说,想比大家都比我清楚: ...
- Shell基础:变量类型 & 运算符
Shell变量 Shell支持三种类型的变量 用户自定义变量:用户自定义的变量,变量名以英文字母或下划线开头,区分大小写. 位置变量:根据位置传递参数给脚本的变量,默认支持9个位置变量 $1,$2,$ ...
- hdu----(1402)A * B Problem Plus(FFT模板)
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- lucene Lock obtain timed out: Lock@
出错界面: 解决办法: 出现以上异常主要有两种原因: 1.系统正在写索引未完成之前,应用程序关闭 解决方法:删除提示的lock文件后重启应用(最好在应用中捕捉到,自动删除) 2.系统中有多个线程或程序 ...
- poj1122 FDNY to the Rescue!(dij+反向建图+输出路径)
题目链接:poj1122 FDNY to the Rescue! 题意:给出矩阵,矩阵中每个元素tij表示从第i个交叉路口到第j个交叉路口所需时间,若tij为-1则表示两交叉路口之间没有直接路径,再给 ...
- UI-简答的BOL的取值塞值
不知道从什么时候开始,习惯用BOL MODEL来做一些东西的了.某个项目开始正式接触标准主数据的时候,开始了用MAINTAIN BAPI和BUPA的一些FM.然后在一段时间内是以此类的FM来开发的.B ...
- sequential minimal optimization,SMO for SVM, (MATLAB code)
function model = SMOforSVM(X, y, C ) %sequential minimal optimization,SMO tol = 0.001; maxIters = 30 ...
- JavaScript prototype 属性
prototype 属性使开发人员有能力向对象添加属性和方法. 语法 object.prototype.name=value 实例 在本例中,我们将展示如何使用 prototype 属性来向对象添加属 ...