This repository was archived by the owner on May 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 455
[Bug] EnumToBoolConverter for Flags Enum #1992
Copy link
Copy link
Open
Labels
Description
Description
Please tell me if I'm completely wrong, but shouldn't the method .HasFlag be called on the valueToCheck instead of the referenceEnumValue?
What I mean is, at the moment if the variable I'm binding to is a Flag attribute with values:
MyFlagEnum.A | MyFlagEnum.B | MyFlagEnum.C
and I put as TrueValue in the converter
MyFlagEnum.B
only, the method call checks if "MyFlagEnum.B" has the flag "MyFlagEnum.A | MyFlagEnum.B | MyFlagEnum.C" which obviously returns false.
Lines 54 to 55 in 5a6062f
| if (valueToCheckType.GetTypeInfo().GetCustomAttribute<FlagsAttribute>() != null) | |
| return referenceEnumValue.HasFlag(valueToCheck); |
- Version with issue: 2.0.6
Workaround
As a workaround I wrote a custom EnumToBoolConverter that simply calls the HasFlag() method on the valueToCheck variable instead of the referenceEnumValue