我正在尝试在 WPF 中创建一种进度条控件。随着每个步骤的完成,将填充椭圆。但是,我没有提出我认为是干净的例子(背后的代码最少和浪费)。这是我所拥有的:
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Ellipse Fill="Blue" Stretch="UniformToFill"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
然后,我想要两个依赖属性:
- 总步数
- 已完成的步骤
我想要的是什么时候TotalSteps = 14
会有 14 个椭圆,并且填充将使用触发器StepsCompleted
、数学转换器和椭圆的索引来工作。但是,除非我创建一个用空白对象创建的虚拟列表,否则我无法找到一种方法来充当我的DataContext
……但是,这似乎是一种浪费。有没有办法根据数字填写模板,而不需要支持列表?
或者,我会接受一个替代进度条模板的解决方案。但是,我什么也没找到,所以用户控件似乎是最简单的