我是WPF的新手,并没有放弃将进度条放入按钮的尝试。我之前提出的问题是:StackOverflow Post。任何帮助如何正确地做到这一点,将不胜感激。我没有在StackOverflow上看到另一篇文章来解决这个问题。理想情况下,将按钮(1)与文本垂直居中(即通常显示在按钮中)以及(2)文本下方的进度条会很棒。按钮将是默认高度的2倍,以便为进度条留出空间。我可以调整你想出的任何东西的位置和间距。我对正确完成绑定以更新进度栏非常感兴趣。如何将ProgressBar放入按钮中
谢谢! 降压
我是WPF的新手,并没有放弃将进度条放入按钮的尝试。我之前提出的问题是:StackOverflow Post。任何帮助如何正确地做到这一点,将不胜感激。我没有在StackOverflow上看到另一篇文章来解决这个问题。理想情况下,将按钮(1)与文本垂直居中(即通常显示在按钮中)以及(2)文本下方的进度条会很棒。按钮将是默认高度的2倍,以便为进度条留出空间。我可以调整你想出的任何东西的位置和间距。我对正确完成绑定以更新进度栏非常感兴趣。如何将ProgressBar放入按钮中
谢谢! 降压
您有两种选择,可以为您的按钮创建UserControl
或新样式并覆盖ControlTemplate
。我会建议你的风格Button
,因为它更容易,你不会创建一个新的类型。以下是你如何做到这一点。
<Button>
<Button.Style>
<Style BasedOn="{StaticResource {x:Type Button}}" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<!-- Put in your textbox and progress bar and what not -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
太棒了,谢谢你! – Buck 2013-05-07 17:40:41
很高兴我能帮忙! – 2013-05-07 17:41:16
如果你只需要这一个实例,你可以做这样的事情:
<Button Click="Button_Click_1">
<StackPanel>
<TextBlock Text="Hello World"/>
<ProgressBar Height="10" x:Name="pb1" Maximum="15"></ProgressBar>
</StackPanel>
</Button>
然后在你的C#代码,你可以访问进度条,如:
private void Button_Click_1(object sender, RoutedEventArgs e)
{
pb1.Value++;
}
你可以很容易地把任何控制按钮的Content
属性:
<Button>
<Button.Content>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" Margin="5">
<TextBlock Text="I'm a button with progress bar!"></TextBlock>
<ProgressBar Height="20"></ProgressBar>
</StackPanel>
</Button.Content>
</Button>
这将导致这样的一个按钮控件:
如果你需要一个以上的,应声明Style
并应用到表单中的按钮,正如其他建议。
使用麻将应用
<Button Canvas.Left="170"
Canvas.Top="71"
Width="55"
Command="{Binding SearchEmployeeCommand}">
<Canvas Width="50" Height="20">
<TextBlock Text="select ..." />
<controls:ProgressRing Canvas.Left="15"
Width="20"
Height="20"
IsActive="True"
Visibility="Visible" />
</Canvas>
</Button>
覆盖它的模板属性。 – 2013-05-07 16:49:34