timheuer / callisto

A control toolkit for Windows 8 XAML applications. Contains some UI controls to make it easier to create Windows UI style apps for the Windows Store in accordance with Windows UI guidelines.
http://timheuer.com/blog/archive/2012/05/31/introducing-callisto-a-xaml-toolkit-for-metro-apps.aspx
Other
338 stars 108 forks source link

Open SettingsPane on close configurable #64

Closed jlaanstra closed 12 years ago

jlaanstra commented 12 years ago

Make the opening of the SettingsPane configurable, so you can opt-out. This is useful in cases where you want to invoke the dialog from another place then the SettingsPane. I also made the border configurable based on the BorderThickness property. This makes sense and also adds flexibility.

By default nothing changes with respect to the current code.

timheuer commented 12 years ago

Johan, thanks for this pull request! I'm not going to take it in to the project but wanted to let you know why on a few fronts.

First, my goal was to create a control that matched as much as possible as the guidance and system-level components of the Settings experience, from behavior to the UI 'redlines' defining the UX. The goal in doing this was forward-thinking to what something might look like if the team actually decided to implement something (which would follow this guidance as well). In addition, this retains consistency with the WinJS SettingsFlyout as well as increases user confidence in consistent experience.

Border - the outer border of the SettingsFlyout is in accordance with the UI 'redlines' of the designed Settings experience, noting that only a single pixel border on the left edge. There will be some changes here to handle RTL languages (where the border would be on the right edge, etc.

Show settings on close - the behavior of the SettingsFlyout is that if the user does an action which dismisses it (i.e., 'light dismiss' model) then it closes, period. Only the back button should trigger the flow back to the OS settings start charm experience. A simple dismiss should not do that. Fixing the back button behavior to make that configurable is tracked by Issue #47.

jlaanstra commented 12 years ago

Alright. I agree that the -show settings on close- indeed makes no sense when issue #47 is fixed. Any progress on this issue?

Still I would suggest you take another look at the border, especially commit jlaanstra/callisto@95c9fe24789d4a23c3a6a1f69f97ab2485fc1768

The outer border of the SettingsFlyout is still there and fully in accordance with the UI 'redlines' of the designed Settings experience by default. But when you explicitly set the BorderThickness of the SettingsFlyout control the expected change is that the border changes accordingly, so that's what I implemented in the above commit. Adding this to Callisto makes the control more usable and flexible and saves restyling the entire control.

timheuer commented 12 years ago

The challenge with even the border thing is this: imagine if a fully implemented control came in a future release and you'd want to transition people to this better control. Setting the expectation that it would be more than a content control is what I'm trying to avoid here. I'd imagine that the border wouldn't be configurable. The idea is that the BorderThickness shouldn't be modified. If there was a better way to not even expose that, then I would have even done that.