如何在WPF中创建Progress Tracker?

时间:2014-03-11 21:50:59

标签: wpf navigation wpf-controls workflow

似乎一般的网页设计都有一个名为Progress Tracker的控件概念,但我找不到任何关于WPF中这种控件的内容,更不用说如何从头开始制作一个控件了。 Progress Tracker可能完全在XAML中被称为其他内容,但到目前为止我所做的任何搜索量都很少。

我想要的是一个教程,但如果没有人知道一个副手,那么有没有人有任何关于如何使用股票WPF控件创建一个的建议?

任何代码示例都会受到赞赏,因为我不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

你肯定要自己动手,但这不应该太难。

从本质上讲,你需要一个ItemsControl(可能有一个Horizo​​ntal StackPanel作为TemplatePanel)和一个代表单个“stage”的用户控件。然后你可以绑定用户控件的文本等,并在用户进行时在其上设置一个“status”变量来改变颜色,执行动画等。

项目控件如下所示:

<ItemsControl ...>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <local:ProgressTrackerItem Label="{Binding StepLabel}" Status="{Binding StepStatus}"..../>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

从技术上讲,你不必使用用户控件,但我觉得它在这个实例中有一个很好的可重用块。