C# 如何在WPF窗口(如MozilaFirefox浏览器)中放置进度控件
我正在开发一个wpf应用程序,我想在其中显示一个进度动画,比如它在MozilaFirefox上的显示方式,如下图所示 我尝试使用WPF的Statusbar控件,但我还是希望它显示在窗口顶部,并在处理完成后消失 请举例说明。如有提示或建议,将不胜感激。提前谢谢C# 如何在WPF窗口(如MozilaFirefox浏览器)中放置进度控件,c#,wpf,wpf-controls,progress,C#,Wpf,Wpf Controls,Progress,我正在开发一个wpf应用程序,我想在其中显示一个进度动画,比如它在MozilaFirefox上的显示方式,如下图所示 我尝试使用WPF的Statusbar控件,但我还是希望它显示在窗口顶部,并在处理完成后消失 请举例说明。如有提示或建议,将不胜感激。提前谢谢 您需要的是一个忙指示灯 在中提供了一个,在这里- 还有一个在,这里- 两者都可以自定义以显示您自己的内容。这里有一个简单的XAML忙指示器: <Control Width="40"> <Control.Style&
您需要的是一个忙指示灯 在中提供了一个,在这里- 还有一个在,这里-
两者都可以自定义以显示您自己的内容。这里有一个简单的XAML忙指示器:
<Control Width="40">
<Control.Style>
<Style TargetType="Control">
<Setter Property="Foreground" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Control">
<Viewbox>
<Canvas RenderTransformOrigin="0.5,0.5" Width="40" Height="40">
<Canvas.Resources>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Stretch" Value="Fill"/>
<Setter Property="Fill" Value="Black"/>
</Style>
</Canvas.Resources>
<Ellipse Width="21.835" Height="21.862" Canvas.Left="20.1696" Canvas.Top="9.76358" Opacity="1.0"/>
<Ellipse Width="20.835" Height="20.862" Canvas.Left="2.86816" Canvas.Top="29.9581" Opacity="0.9"/>
<Ellipse Width="19.835" Height="19.862" Canvas.Left="0.00001" Canvas.Top="57.9341" Opacity="0.8"/>
<Ellipse Width="17.835" Height="17.862" Canvas.Left="12.1203" Canvas.Top="83.3163" Opacity="0.7"/>
<Ellipse Width="16.835" Height="16.862" Canvas.Left="36.5459" Canvas.Top="98.1380" Opacity="0.6"/>
<Ellipse Width="14.835" Height="14.862" Canvas.Left="64.6723" Canvas.Top="96.8411" Opacity="0.5"/>
<Ellipse Width="13.835" Height="13.862" Canvas.Left="87.6176" Canvas.Top="81.2783" Opacity="0.4"/>
<Ellipse Width="12.835" Height="12.862" Canvas.Left="98.165" Canvas.Top="54.4140" Opacity="0.3"/>
<Ellipse Width="11.835" Height="11.862" Canvas.Left="92.9838" Canvas.Top="26.9938" Opacity="0.2"/>
<Canvas.RenderTransform>
<RotateTransform x:Name="SpinnerRotate" Angle="0"/>
</Canvas.RenderTransform>
<Canvas.Triggers>
<EventTrigger RoutedEvent="ContentControl.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="SpinnerRotate" Storyboard.TargetProperty="Angle" From="0" To="360" Duration="0:0:01.3" RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
</Canvas>
</Viewbox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Control.Style>
</Control>
我有一个定制的忙指示器,但我想在窗口底部使用它,就像Mozila fire fox浏览器在加载页面时使用的那样。所以你已经有了它,但你只想将它固定在底部?在这种情况下,请使用DockPanel.Dock=“Bottom”
。如果需要切换可见性,只需像这样绑定它:visibility=“{Binding IsVisible,Converter={StaticResource BoolToVis}}”
。(请记住在参考资料中添加
)我想要类似于浮动的东西,在那里我会放置我的忙指示器,一旦处理完成,它就会消失。