How to use

1. reference the UIAuth.Common project (or dll).
2. Implement IAuthLevelProvider class in your code.
3. Assign to AuthBehavior.AuthProvider (app.cs is good place...)
4. Mark the View model class / properties with AuthSecurityName attribute with security name for this class/properties.
5. In XAML add AuthBehavior to UI elements.
6. Optional - for special ReadOnly template add template to Resources or embedded in behavior.

Basic Reference
AuthBehavior - The behavior for the Xaml.
Members
AuthSecurityName - The attribute to place on VM class or properties.
AuthLevel - enum for levels - All, ReadOnly, Invisible, Unknown.

IAuthLevelProvider - The provider for authorization level base on security name.
Example
In the example provided there is few properties with different security name bounded to some UI Elements (ListBox, Buttons, CheckBox)
In the running code one ListBox will disappear one will get ItemDataTemplate from resource, one from embedded.
One button will be disable from it's own bounded command and one from the VM class (implicit).