Чтобы изменить визуальное состояние элемента, вы можете сделать это из кода на странице, например:
VisualStateManager.GoToState(yourViewElement, yourViewElementState);
Однако это не лучший совет, но вы можете подписаться на изменения в своей модели представления из своего code.behind и затем вызвать VisualStateManager.
Пример
YourPage()
{
viewModel.PropertyChanged += FooChanged;
}
public void FooChanged()
{
if (!args.PropertyName.Equals("YourProperty"))
{
VisualStateManager.GoToState(yourViewElement, yourViewElementState);
}
return;
}