diff --git a/src/Tizen.NUI/src/internal/Common/ControlStateUtility.cs b/src/Tizen.NUI/src/internal/Common/ControlStateUtility.cs index a339e5d873e..efdd0acc3e9 100644 --- a/src/Tizen.NUI/src/internal/Common/ControlStateUtility.cs +++ b/src/Tizen.NUI/src/internal/Common/ControlStateUtility.cs @@ -55,6 +55,8 @@ public static ulong Register(string stateName) string trimmed = stateName.Trim(); ulong bitMask = 0UL; + if (trimmed == "All") return FullMask; + if (trimmed != "Normal" && !registeredStates.TryGetValue(trimmed, out bitMask)) { if (nextBitPosition + 1 > MaxBitWidth) diff --git a/src/Tizen.NUI/src/public/BaseComponents/ControlState.cs b/src/Tizen.NUI/src/public/BaseComponents/ControlState.cs index 6fcb22b1dd0..2a4fd2b3cac 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ControlState.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ControlState.cs @@ -115,6 +115,11 @@ private ControlState(string name) : this(ControlStateUtility.Register(name)) /// 9 public static ControlState Create(string name) { + if (name == null) + throw new ArgumentNullException(nameof(name)); + if (string.IsNullOrWhiteSpace(name)) + throw new ArgumentException($"{nameof(name)} cannot be whitespace.", nameof(name)); + return new ControlState(name); } @@ -176,6 +181,10 @@ public override string ToString() { return nameof(Normal); } + else if (bitFlags == ControlStateUtility.FullMask) + { + return nameof(All); + } foreach (var (name, bitMask) in states) {