Hello亲爱的Stack Overflow用户。
我在TabControl ItemContainerStyle模板中放置ProgressBar时遇到问题。
仅当TabItem标头拉伸到TabControl宽度时才会出现此问题。如果只有少量标题,那么它们的宽度不会改变,并且进度条工作正常。
当ProgressBar值更改时,TabItem的宽度会随着它的当前宽度而变化,直到当前Tab行上的项目可能的最大宽度。同一标题行上的其他标签可以移动也可以缩小。
所以,有两个问题:
视觉示例!!
的 ItemContainerStyle (所有控件都使用拉伸作为宽度)
<Style x:Key="TabItemStyle"
TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Grid ...>
<ProgressBar BorderThickness="0"
Background="{x:Null}"
Value="{Binding Progress}">
<ProgressBar.Style .../>
<ProgressBar.Clip .../>
</ProgressBar>
<Border ...>
<ContentPresenter .../>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
的TabControl
<TabControl Name="TabController"
TabStripPlacement="Bottom"
Padding="0"
helpers:TabItemGeneratorBehavior.ItemsSource="{Binding TabPageCollection, Mode=TwoWay}"
helpers:TabItemGeneratorBehavior.SelectedItem="{Binding SelectedTabPage, Mode=TwoWay}"
ItemContainerStyle="{StaticResource TabItemStyle}"/>
答案 0 :(得分:0)
问题已解决!在Canvas中包装ProgressBar并将ProgressBar大小设置为绑定到Canvas实际宽度/高度。