Добавление визуального состояния к вложенным элементам управления с помощью WPF 4 - PullRequest
0 голосов
/ 28 июня 2011

Я хотел бы знать, возможно ли применить визуальное состояние (в WPF 4) к вложенным элементам управления.У меня есть панель стека, которая содержит некоторые элементы, которые я хотел бы изменить в соответствии с состоянием варианта.

<StackPanel x:Name="panPremioRaggiunto">
 <VisualStateManager.VisualStateGroups>
 <VisualStateGroup Name="StatiComuni">
 <VisualState Name="PremioNonRaggiunto" />
 <VisualState Name="PremioRaggiunto">
 <Storyboard>
  <ColorAnimation Storyboard.TargetName="lblPremioRaggiunto" Storyboard.TargetProperty="Foreground" To="Green" />
 </Storyboard>
 </VisualState>
 </VisualStateGroup>
 </VisualStateManager.VisualStateGroups>
 <TextBlock x:Name="lblPremioRaggiunto">TEXT</TextBlock>
</StackPanel>

Когда я пытаюсь изменить состояние всей панели стека с помощью этого кода

VisualStateManager.GoToState(panPremioRaggiunto, "PremioRaggiunto", False)

ничего не происходит: вложенный текстовый блок с именем lblPremioRaggiun не меняет свой цвет в соответствии с.Могу ли я применить визуальное состояние таким образом?

Спасибо, Данило.

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Исправлена ​​проблема: визуальные состояния определяются вне шаблона элемента управления, поэтому мне нужно использовать VisualStateManager.GoToElementState вместо GoToState .

0 голосов
/ 28 июня 2011

Да, VisualStateManager может изменить состояние любого элемента управления. У вас должны быть другие проблемы с вашим кодом.

...