2
WPF에서 VisualState에 대해 배우려고합니다. WPF에서 간단한 VisualState를 만들 수 있습니다. 하지만 문제는 어떻게 다른 VisualState를 다른 컨트롤에 적용 할 수 있는가하는 것입니다.동일한 VisualState를 여러 컨트롤에 적용하는 방법은 무엇입니까?
여기 내 샘플 VisualState 코드입니다.
<Grid x:Name="LayoutRoot" Background="{x:Null}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="VisualStateGroup">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:1">
<ei:ExtendedVisualStateManager.TransitionEffect>
<ee:FadeTransitionEffect/>
</ei:ExtendedVisualStateManager.TransitionEffect>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="MySate">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Background).(SolidColorBrush.Color)" Storyboard.TargetName="textBlock">
<EasingColorKeyFrame KeyTime="0" Value="#FFF31515"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<VisualStateManager.CustomVisualStateManager>
<ei:ExtendedVisualStateManager/>
</VisualStateManager.CustomVisualStateManager>
<Grid Height="132" Margin="58,80,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="230">
<TextBlock x:Name="textBlock" Margin="54,37,35,48" TextWrapping="Wrap" Text="TextBlock" Background="Black"/>
</Grid>
<Grid Height="132" Margin="58,80,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="230">
<TextBlock x:Name="textBlock2" Margin="54,37,35,48" TextWrapping="Wrap" Text="TextBlock" Background="Black"/>
</Grid>
<Button x:Name="yyyyy" Content="Button" HorizontalAlignment="Right" Height="70" Margin="0,8,30,0" VerticalAlignment="Top" Width="148" Click="Clickbd"/>
</Grid>
C 번호 :
private void Clickbd(object sender, System.Windows.RoutedEventArgs e)
{
VisualStateManager.GoToElementState(LayoutRoot, "MySate", true);
}
이 VisualState 성공적으로 TextBlock에 제어를 위해 일한다. 이 VisualState를 에 적용하고 싶습니다. textBlock2
감사합니다.
당신이 나에게 예를 줄 수 있습니까? – Vero009
나는 손가락이'TextBlock'을 쓰는 동안 내 마음이'TextBox'를 생각하고있는 것으로 나타 났으므로 위 코드는 아마 예상대로 작동하도록 수정해야 할 것입니다. – madd0
괜찮습니다. 나는 이해한다. 감사합니다. – Vero009