Click here to Skip to main content
14,265,979 members

Silverlight / WPF

 
QuestionMouseEventArgs.CLicks in WPF Pin
Enobong Adahada20-Apr-18 6:33
memberEnobong Adahada20-Apr-18 6:33 
AnswerRe: MouseEventArgs.CLicks in WPF Pin
Gerry Schmitz20-Apr-18 13:18
mveGerry Schmitz20-Apr-18 13:18 
GeneralRe: MouseEventArgs.CLicks in WPF Pin
Enobong Adahada21-Apr-18 13:08
memberEnobong Adahada21-Apr-18 13:08 
QuestionField Level Rights Pin
Kevin Marois18-Apr-18 7:38
professionalKevin Marois18-Apr-18 7:38 
AnswerRe: Field Level Rights Pin
Gerry Schmitz18-Apr-18 7:45
mveGerry Schmitz18-Apr-18 7:45 
GeneralRe: Field Level Rights Pin
Kevin Marois18-Apr-18 8:14
professionalKevin Marois18-Apr-18 8:14 
GeneralRe: Field Level Rights Pin
Gerry Schmitz18-Apr-18 8:43
mveGerry Schmitz18-Apr-18 8:43 
GeneralRe: Field Level Rights Pin
Kevin Marois18-Apr-18 8:54
professionalKevin Marois18-Apr-18 8:54 
Maybe you're not understanding what I'm trying to accomplish here.

When a user logs in their rights are retrieved and stored on a static class in a Dictionary. See below
public static class AppCore
{
    // List of user's rights
    public static Dictionary<string, bool> Rights { get; set; }

    // Logs the user in
    public static void Login(string userName, string password)
    {
        // Login the user. If successful....

        // ....get their rights. In my app the User Object 
        // has the dictionary of rights on it. The user
        // object is returned from the BL with the dictionary
        // on it. It looks like this
        /*
        CurtentUser.Rights<"CanAddCustomer", true>;
        CurtentUser.Rights<"CanEditCustomer", true >;
        CurtentUser.Rights<"CanDeleteCustomer", true >;
        CurtentUser.Rights<"CustomerCreditLimit", true >;
        */
        // So after login, I do
        CurrentUser.Rights.ForEach(x => Rights.Add(x));

        // At this point, the app is up & running and I have access to 
        // the user's right from anywhere
    }

    public static bool HasAccess(string itemName)
    {
        return Rights.Where(x => x.Key == itemName).Select(x => x.Value).FirstOrDefault();
    }
}
What I want to do now is call HasAccess from the XAML. All I should have to do is set the key ("CanEditCustomer" or "CustomerCreditLimit"), or maybe the element name, on the UI element.

I have this working already with simply binding to the dictionary and setting the key, as in my original posting... What I'd really like is instead of binding to a property, I want call a method on the VM so I can do advanced logic.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.


modified 18-Apr-18 15:01pm.

GeneralRe: Field Level Rights Pin
Gerry Schmitz18-Apr-18 9:50
mveGerry Schmitz18-Apr-18 9:50 
AnswerRe: Field Level Rights Pin
Mycroft Holmes18-Apr-18 14:31
memberMycroft Holmes18-Apr-18 14:31 
QuestionApplication.Run C# equivalent Pin
GregJ717-Apr-18 4:32
memberGregJ717-Apr-18 4:32 
AnswerRe: Application.Run C# equivalent Pin
Richard MacCutchan17-Apr-18 4:38
protectorRichard MacCutchan17-Apr-18 4:38 
GeneralRe: Application.Run C# equivalent Pin
GregJ717-Apr-18 6:26
memberGregJ717-Apr-18 6:26 
GeneralRe: Application.Run C# equivalent Pin
Richard MacCutchan17-Apr-18 6:38
protectorRichard MacCutchan17-Apr-18 6:38 
GeneralRe: Application.Run C# equivalent Pin
GregJ717-Apr-18 7:59
memberGregJ717-Apr-18 7:59 
GeneralRe: Application.Run C# equivalent Pin
Richard MacCutchan17-Apr-18 8:47
protectorRichard MacCutchan17-Apr-18 8:47 
GeneralRe: Application.Run C# equivalent Pin
GregJ717-Apr-18 8:04
memberGregJ717-Apr-18 8:04 
GeneralRe: Application.Run C# equivalent Pin
Richard MacCutchan17-Apr-18 8:48
protectorRichard MacCutchan17-Apr-18 8:48 
GeneralRe: Application.Run C# equivalent Pin
Richard Deeming19-Apr-18 1:52
mveRichard Deeming19-Apr-18 1:52 
GeneralRe: Application.Run C# equivalent Pin
GregJ719-Apr-18 2:42
memberGregJ719-Apr-18 2:42 
AnswerRe: Application.Run C# equivalent Pin
GregJ717-Apr-18 11:52
memberGregJ717-Apr-18 11:52 
GeneralRe: Application.Run C# equivalent Pin
Richard MacCutchan17-Apr-18 20:53
protectorRichard MacCutchan17-Apr-18 20:53 
GeneralRe: Application.Run C# equivalent Pin
GregJ718-Apr-18 1:24
memberGregJ718-Apr-18 1:24 
GeneralRe: Application.Run C# equivalent Pin
Richard MacCutchan18-Apr-18 1:37
protectorRichard MacCutchan18-Apr-18 1:37 
AnswerRe: Application.Run C# equivalent Pin
Pete O'Hanlon18-Apr-18 1:52
protectorPete O'Hanlon18-Apr-18 1:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.