You can freely change the initial state as you like. What you should know is that this state is applied only once, when the control is loaded. After that, the only the other states are applied. What happens in your case is that the Initial state is applied on button creation, but right after that the !IsMouseOver
state is applied. In fact, the states are applied from left to right, if their condition is true. The last one will take precedence as it will be applied last.
Consider having two conditions: IsMouseOver
and IsMouseOver & IsPressed
Then, when you hover the button and press it, the first state will be applied as it is true (IsMouseOver = true). Then the second one will be applied as it is again true.
Now, if you swap the two conditions so that IsMouseOver & IsPressed
is before IsMouseOver
, they will be applied in the opposite order, so IsMouseOver
will take precedence. Then it will look like the first one is not applied, i.e. there will be no pressed-button state.
That applies to the Initial state too. It will always be applied first, as it appears first in the list. It is applied, but right after that some other state is applied. And, again, the initial state is applied only once. While the rest of the states are applied on each state change (mouse hover, button press, etc.)
I hope this information will help you understand the Visual Style Builder and our theming system. If you have any additional questions, don't hesitate to ask.
the Telerik team