Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF窗口(如MozilaFirefox浏览器)中放置进度控件_C#_Wpf_Wpf Controls_Progress - Fatal编程技术网

C# 如何在WPF窗口(如MozilaFirefox浏览器)中放置进度控件

C# 如何在WPF窗口(如MozilaFirefox浏览器)中放置进度控件,c#,wpf,wpf-controls,progress,C#,Wpf,Wpf Controls,Progress,我正在开发一个wpf应用程序,我想在其中显示一个进度动画,比如它在MozilaFirefox上的显示方式,如下图所示 我尝试使用WPF的Statusbar控件,但我还是希望它显示在窗口顶部,并在处理完成后消失 请举例说明。如有提示或建议,将不胜感激。提前谢谢 您需要的是一个忙指示灯 在中提供了一个,在这里- 还有一个在,这里- 两者都可以自定义以显示您自己的内容。这里有一个简单的XAML忙指示器: <Control Width="40"> <Control.Style&

我正在开发一个wpf应用程序,我想在其中显示一个进度动画,比如它在MozilaFirefox上的显示方式,如下图所示

我尝试使用WPF的Statusbar控件,但我还是希望它显示在窗口顶部,并在处理完成后消失

请举例说明。如有提示或建议,将不胜感激。提前谢谢


您需要的是一个忙指示灯

在中提供了一个,在这里-

还有一个在,这里-


两者都可以自定义以显示您自己的内容。

这里有一个简单的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}}”
。(请记住在参考资料中添加
)我想要类似于浮动的东西,在那里我会放置我的忙指示器,一旦处理完成,它就会消失。