wpf扩展工具包具有BusyIndicator控件,可以将模板应用于该控件中包含的进度条。 我希望进度条像win 8中的响铃进度条(就像代码项目http://www.codeproject.com/Articles/700185/Windows-Progress-Ring中那样),但我不能应用控件,只需要一个DataTemplate。 任何想法?
答案 0 :(得分:2)
BusyIndicator设计为内容控件。意思是它包含你放在里面的内容,并广告叠加到它。你可以为它创建一个ControlTemplate,但你必须这样做:
<Style TargetType="{x:Type xctk:BusyIndicator}" x:Key="ProgressRing">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type xctk:BusyIndicator}">
<Grid>
<ContentControl Content="{TemplateBinding Content}"></ContentControl>
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
x:Name="Overlay" Visibility="{TemplateBinding IsBusy, Converter={StaticResource BoolToVis}}">
<Border.Background>
<SolidColorBrush Color="Black" Opacity="0.5"></SolidColorBrush>
</Border.Background>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">progress</TextBlock>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这与构建BusyIndicator的方式类似,但允许您替换它使用的进度条。只需替换
BTW对于进度环你可以使用一个imageview并简单地无限地旋转它。