Проблема с государственным менеджером в SL4 - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть тумблер

<ToggleButton Padding="1">
                                <TextBlock>
            <Underline>Week</Underline>
                                </TextBlock>
                            </ToggleButton>

и то, что мне нужно изменить, задается подчеркиванием в false, когда кнопка переключения не отмечена, и устанавливается в значение true, когда управление проверяется.

и теперь у меня есть только

 <ToggleButton Padding="1">
 <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">

                                        <VisualState x:Name="IsChecked">

                                            <Storyboard Duration="0:0:0">

и я не могу понять, что дальше.

Я не придерживаюсь концепции текстового блока. Текст в ToggleButton должен быть подчеркнут, и это все.

1 Ответ

0 голосов
/ 17 сентября 2011

Чтобы использовать VisualStateManager, вам необходимо переопределить шаблон ToggleButton - взгляните на MSDN ToggleButton Syles .Вместо этого вы можете использовать триггеры Blend.Сначала добавьте в ваш проект System.Windows.Interactivity.dll и Microsoft.Expression.Interactions.dll, предоставляемые Expression Blend SDK , а затем используйте следующий код:

<ToggleButton x:Name="toggleButton" Padding="1">
 <TextBlock x:Name="textBlock">
   <i:Interaction.Triggers>
     <ei:DataTrigger Binding="{Binding IsChecked, ElementName=toggleButton}" Value="True">
     <ei:ChangePropertyAction PropertyName="TextDecorations">
      <ei:ChangePropertyAction.Value>
       <TextDecorationCollection>Underline</TextDecorationCollection>
      </ei:ChangePropertyAction.Value>
     </ei:ChangePropertyAction>
    </ei:DataTrigger>
     <ei:DataTrigger Binding="{Binding IsChecked, ElementName=toggleButton}" Value="False">
      <ei:ChangePropertyAction PropertyName="TextDecorations"/>
     </ei:DataTrigger>
    </i:Interaction.Triggers>
  Week
 </TextBlock>
</ToggleButton>

The ei:и я: следующие:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
...