【问题标题】:How can one make a Progress Tracker in WPF?如何在 WPF 中制作进度跟踪器?
【发布时间】:2014-03-11 21:50:59
【问题描述】:

似乎一般的网页设计都有一个被称为Progress Tracker 的控件的概念,但我在 WPF 中找不到任何关于这样一个控件的信息,更不用说关于如何从头开始制作的教程了。进度跟踪器可能在 XAML 中完全被称为其他东西,但到目前为止我所做的任何搜索都很少返回。

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

任何代码示例都将不胜感激,因为我不知道从哪里开始。

【问题讨论】:

    标签: wpf navigation wpf-controls workflow


    【解决方案1】:

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

    本质上,您将需要一个 ItemsControl(可能带有一个 Horizo​​ntal StackPanel 作为 TemplatePanel)和一个代表单个“阶段”的用户控件。然后您可以绑定用户控件的文本等,并随着用户的进展在其上设置一个“状态”变量以更改颜色、执行动画等。

    项目控件如下所示:

    <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>
    

    从技术上讲,您不必使用用户控件,但我觉得在这种情况下它是一个很好的可重用块。

    【讨论】:

    • 这很鼓舞人心。我在想使用水平 TreeView 可能可以创建进度跟踪器,但您的方法似乎更简单。本质上,我可以看到基于工作流程添加项目,并且对于启动或结束跟踪器的那些项目,只需为它们呈现不同的图形。谢谢!
    • 没问题,水平树状视图对我来说听起来很痛苦。不过,听起来您肯定走在正确的轨道上!
    • 听起来确实很痛苦。我会用你的方法解决这个问题。
    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多