Comments (5)
The stepbar is "just a bar representing some state". Note that it's not for managing navigation state, that is done by the wizard (and yes, these items you mention will be possible).
The wizard page has an IsVisited
page so this is taken care off. The step bar is similar to a progress bar without any actual logic (e.g. the progress bar is not responsible for actually downloading anything).
from orc.controls.
It's important not to remove the breadcrumb in Orc.Wizard just yet, we need to plan the removal carefully.
from orc.controls.
Just some random thoughts that may or may not be applicable.
Knowing whether a step has been "visited" or not is important.
This would allow us to write some logic along the lines of: You can't click on step 5 unless step 2 and 3 have been visited.
Actually, we might need another state of "completed". It is one thing to "visit" a step, and another to "complete" it satisfactorily.
It also means that we can prevent users from re-visiting (or visiting for the first time) earlier steps if they have already completed a subsequent step.
For example we have 5 steps. We allow them to visit and complete step 3 first. But once that is done we can add logic in our apps that a user can no longer visit steps 1 and 2.
All I am trying to do is figure out the minimum "statuses" we need in the API to enable us to write all the logic we need in our apps.
In summary I think "IsVisited" and "IsCompleted" are important. ("IsClickable" should be taken care of by the command)
We can then use different icons for different step states.
from orc.controls.
Hello, I am almost done with this task, before the PR I would like to discuss some things about this control.
I have created a HorizontalNavigationStepBarView, and a SideNavigationStepBarView with VMs (HorizontalNavigationStepBarViewModel, SideNavigationStepBarViewModel) in the Orc.Controls.Example project to demonstrate the control's usage. In these there is a StepBar control and two buttons for manual navigation. I have also created an example AgeExampleItem model, which can be registered as an item for the StepBar control. New items can be easily created with the StepBarItemBase model and IStepBarItem interface (like in the wizard project). I don't really know if this is the right way for doing this.
The StepBar control works like the one in the Wizard project, it has StepBarItems with orientation support. Based on the orientation some layout control needs to be changed in the StepBarItemViewModel, this command is called on the Loaded event. The round "ellipse" visual items can now be replaced with an uri which points to a local file. I'm also not sure if this is what you were looking for. 😃
Should I create a PR for concretising things?
Thanks.
from orc.controls.
We don't want to work with local files, etc. I'll review the PR and let you know.
from orc.controls.
Related Issues (20)
- Style WatermarkTextBox so it uses theming capabilities from Orc.Theming HOT 2
- Style NumbericTextBox so it uses theming capabilities from Orc.Theming HOT 1
- style SaveFilePicker with themes library HOT 1
- BusyIndicator doesn't respond to accent color HOT 1
- Style BindableRichTextBox so it uses theming capabilities from Orc.Theming HOT 1
- Bindable rich text box do not accent text with color HOT 2
- Open file dialog has wrong styles in example project HOT 1
- Move expander slyles from rantt, because standard styles looks bad HOT 1
- Default watermark text box style doesn't apply HOT 1
- PinnableToolTip doesn't work in example project HOT 1
- Use Control as base class for DatePicker HOT 1
- Use Control as base class for DateRangePicker HOT 2
- Use Control as base class for DateTimePicker HOT 1
- Style LogViewer so it uses theming capabilities from Orc.Theming HOT 1
- Use Microsoft.Xaml.Behaviors.Wpf instead the System.Windows.Interactivity HOT 3
- Create Callout control
- Install Nuget Package error HOT 1
- Install Nuget package error #2 HOT 2
- Incorrect ElementName in XAML Binding at TimeSpanPicker control HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orc.controls.