0
我有一个简单的StackPanel
,它包含一个TextBlock
和ProgressBar
。当IsIndeterminate = true时,WPF ProgressBar不会缩小以适合内容
在启动时,ProgressBar
的宽度是完美的 - 它的大小已经适合其边界(由兄弟TextBlock
延伸至150)。
但是,当TextBlock
由于附加文本(其中ProgressBar
很好地扩展以填充额外区域)而被拉伸到超过150的宽度,并且由于其文本的去除而被收缩时,宽度进度条仍然存在。
这只是发生在IsIndeterminate = true
下匆忙拼凑的代码会显示运作;
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel>
<TextBlock MinWidth="150" Name="tb" HorizontalAlignment="Left"></TextBlock>
<ProgressBar MinHeight="20" IsIndeterminate="True"/>
</StackPanel>
</Grid>
public MainWindow()
{
InitializeComponent();
new Thread(() =>
{
Thread.Sleep(2000);
App.Current.Dispatcher.Invoke(() =>
{
tb.Text = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
});
Thread.Sleep(1000);
App.Current.Dispatcher.Invoke(() =>
{
tb.Text = "A";
});
}).Start();
}