Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CanExecute is always false on RelayCommand with enum parameter #308

Open
c0debeef opened this issue Aug 17, 2023 · 1 comment
Open

CanExecute is always false on RelayCommand with enum parameter #308

c0debeef opened this issue Aug 17, 2023 · 1 comment
Labels
dotnet The .NET Community Toolkit mvvm MVVM Toolkit Pri3

Comments

@c0debeef
Copy link

public enum MainMenuOption
{
	None = 0,
	Notifications = 1,
	Accounts = 2,
	Settings = 3,
	Exit = 4,
}

public IRelayCommand ChooseMainMenuCommand { get; init; }
private void ChooseMainMenuCommandImplementation(MainMenuOption option) {...}

ChooseMainMenuCommand = new RelayCommand<MainMenuOption>(ChooseMainMenuCommandImplementation);

This button is always disabled:

xmlns:enums="clr-namespace:Project.Enums"

<Button x:Name="xButton"
    Command="{Binding ChooseMainMenuCommand}">
    <Button.CommandParameter>
        <enums:MainMenuOption>Notifications</enums:MainMenuOption>
    </Button.CommandParameter>
</Button>

It runs well if I make the parameter optional: MainMenuOption?

@michael-hawker michael-hawker added dotnet The .NET Community Toolkit mvvm MVVM Toolkit labels Aug 25, 2023
@c0debeef
Copy link
Author

c0debeef commented Aug 29, 2023

It doesn't work for decimal either, and possibly for other struct types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dotnet The .NET Community Toolkit mvvm MVVM Toolkit Pri3
Projects
None yet
Development

No branches or pull requests

2 participants