C# VisualStateManager silverlight

C# VisualStateManager silverlight,c#,silverlight,xaml,visualstatemanager,C#,Silverlight,Xaml,Visualstatemanager,你好,我一直在努力让我的VisualState正常工作。我试图实现的是在用户输入上设置边框颜色,所以我要做的就是这样 VisualStateManager.GoToState(textbox, "BorderHighlight", false); 情节提要在单独的VisualState组中定义 <VisualState x:Name="BorderHighlight" > <Storyboard > <ColorAnimationUsing

你好,我一直在努力让我的VisualState正常工作。我试图实现的是在用户输入上设置边框颜色,所以我要做的就是这样

VisualStateManager.GoToState(textbox, "BorderHighlight", false);
情节提要在单独的VisualState组中定义

<VisualState x:Name="BorderHighlight" >
    <Storyboard >
        <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:05"  
            Storyboard.TargetName="Border" Storyboard.TargetProperty="        
               (Border.BorderBrush).(SolidColorBrush.Color)">
                   ...
         </ColorAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>

...
问题是文本框现在没有离开visualstate,因此无法再次触发。所以我不得不把它切换回正常状态。我尝试添加一个正常状态 对团队来说,这似乎是不允许的(只能有一个正常状态?) 我还尝试设置一个正常状态,就像我在第一个状态完成后设置高亮显示状态一样,但也不起作用


如果有人能给我指出正确的方向,我将不胜感激。

我想您正在创建一个自定义控件。我想要这样的东西:

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="BorderStates">

        <VisualState x:Name="BorderHighlight">
            <Storyboard> ... </Storyboard>
        </VisualState>

        <VisualState x:Name="BorderNormal">
            <Storyboard> ...  </Storyboard>
        </VisualState>

    </VisualStateGroup>
    ...
</VisualStateManager.VisualStateGroups>

我假设您正在创建一个自定义控件。我想要这样的东西:

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="BorderStates">

        <VisualState x:Name="BorderHighlight">
            <Storyboard> ... </Storyboard>
        </VisualState>

        <VisualState x:Name="BorderNormal">
            <Storyboard> ...  </Storyboard>
        </VisualState>

    </VisualStateGroup>
    ...
</VisualStateManager.VisualStateGroups>