Как возвратиться, чтобы “Основывать” использование состояния VisualStateManager?

SharpDevelop имеет встроенного переводчика между C# и VB.NET. Не идеальная мысль (например, дополнительные значения в VB.NET не имеет эквивалента в C#, таким образом, подпись метода преобразователя должна быть отредактирована), но можно сэкономить некоторое время, поскольку Вы делаете все операции в IDE, и не веб-страница (скопируйте код C#, вставку, нажмите кнопку, скопируйте код VB.NET, вставку на IDE: P)

16
задан Akash Kava 2 October 2009 в 08:29
поделиться

3 ответа

The default controls define a "Normal" visual state in the CommonStates group, which is reverted to on mouseout etc. I think you'll need to follow the same pattern for what I assume is a custom control?

5
ответ дан 30 November 2019 в 16:19
поделиться

Для этого вы должны сначала определить ваше «базовое» состояние.

Дело в том, что если вы определяете визуальное состояние, которое не содержит раскадровки, то это состояние будет фактически равно «базовому» состоянию - тому, в которое был загружен элемент управления.

<VisualStateGroup x:Name="TheGroup">  
    <VisualState x:Name="SomeState1">
       <Storyboard>
         ...
       </Storyboard>
    </VisualState>

    <VisualState x:Name="BaseState" /> <!-- Note: the VisualState tag is empty -->
</VisualStateGroup>

Затем переключитесь на это состояние:

VisualStateManager.GoToState( this, "BaseState", true );
16
ответ дан 30 November 2019 в 16:19
поделиться

Нормальный! = Базовый.

База - это просто начальное состояние элемента управления до применения любого визуального состояния (то есть до того, как VSM станет активным).

Если вы читаете эту статью в блоге Expression , есть хорошее описание, которое я подняли здесь:

... когда вы создаете свой собственный шаблон control или UserControl, вам следует определить состояние "по умолчанию" в каждом состоянии группа. Перейдите к тем "по умолчанию" состояние при инициализации , и сделать это с подавленными переходами чтобы это произошло без промедления. однажды это на графе состояний, элемент управления готов к переходу между состояниями произойти, поэтому теперь вы можете реализовать обработчики событий, которые запускают переходы внутри графа состояний.

Из беглого взгляда на исходный код VSM кажется, что нет способа выйти из VSM и вернуться в исходное базовое состояние ... так что да, вам действительно нужен "Нормальный" " государство. : (

Меня также немного раздражает то, что состояние VSM не может быть легко удалено, хотя приведенное выше решение имеет смысл. Возможно, они исправят это в будущем.

20
ответ дан 30 November 2019 в 16:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: