我是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