2013-04-30 56 views
0

我想在WPF中创建一种进度条控件。这将是每个步骤完成时填入的省略号。但是,我没有提出我认为是一个干净的例子(最小代码和浪费)。以下是我有:如何使用整数填充ItemsControl

<ItemsControl> 
<ItemsControl.ItemsPanel> 
    <ItemsPanelTemplate> 
     <StackPanel Orientation="Horizontal"/> 
    </ItemsPanelTemplate> 
</ItemsControl.ItemsPanel> 
<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Ellipse Fill="Blue" Stretch="UniformToFill"/> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 
</ItemsControl> 

然后,我想有两个依赖属性:

  • TotalSteps
  • StepsCompleted

我想是时候TotalSteps = 14则会有使用StepsCompleted,一个数学转换器和椭圆的索引,14个椭圆和填充将起作用。然而,我一直无法找到一种方法来做到这一点,除非我创建了一个虚拟列表,这个虚拟列表是由空白对象创建的,这些空白对象将作为我的DataContext ...但这看起来很浪费。有没有办法根据数字填充模板,而不需要支持列表?

另外,我会接受一个解决方案,它将是进度条模板的重载。不过,我什么也没找到,所以用户控制似乎最简单的

+0

我觉得进度是有已经在WPF的信息。那么为什么重新发明轮子? – 2013-04-30 16:01:49

+0

我会更新我的问题,但简短的回答是,这在目前的进度条中并不容易实现 – 2013-04-30 16:04:16

+0

可能是一个网格,您可以将样式设置为在每个单元格中都有一个椭圆,然后绑定列的数量以便进度? – paul 2013-04-30 16:08:05

回答

1

我已经做了一步进度条下面的这个链接

Implementing a wizard progress control in WPF

+0

这并没有解决我这样做的情况下,只需一个整数而不需要绑定到一个集合。但是,它确实帮助了很多。我只想要点,所以这成为一个更简单的解决方案 – 2013-04-30 18:11:01