I have to make a control which shows progress. Each progress point has some UI controls to display and interact with user . Like for example at 3rd stage we have some data which user will interact with.
What is my plan is to make (or customize) an Existing UIControl.
Can somebody help me how to achieve the target, In explaining in detail with to implement this idea ? (Any other idea is also appreciated.)
I have already used this example for one of my projects, with a very similar need: https://stackoverflow.com/a/7784397/17534581
I would advise you to start from this, it is very complete.
UPDATE
Here are the main steps:
Create a custom class that overrides ItemsControl:
Add the following ResourceDictionnary:
And then, the two following Converters:
You would be able to use the ProgressBar as follow:
Where Steps is an ObservableCollection and Progress an integer.
You can also add a void to set Progress from the name of the Step as string:
Result:
UPDATE 2: Makes the ProgressBar interactive
If you want to make the ProgressBar interactive, you just have to add a Command triggered when a step is clicked. For example by grouping the two Ellipses in a grid and adding a MouseBinding on this Grid:
And add the Command in the ViewModel:
Where SetProgressFromValue is the void I have quoted above.