C# WPF/XAML:更改选项卡Control SelectedItem on按钮按下

C# WPF/XAML:更改选项卡Control SelectedItem on按钮按下,c#,wpf,xaml,triggers,tabcontrol,C#,Wpf,Xaml,Triggers,Tabcontrol,我正在寻找以下问题的纯XAML解决方案: 我有一个按钮和一个选项卡控件。当我按下按钮时,tab控件应显示某个选项卡(因此按钮应更改Tabcontrol的SelectedIndex)。我知道如何用代码隐藏来解决这个问题,但这不是我想要的 有可能用触发器实现这一点吗?它测试了这一点,并且工作正常 注意不要使用太大的SelectedIndex。他们从0开始 <Window.Resources> <Storyboard x:Key="OnClick1">

我正在寻找以下问题的纯XAML解决方案:

我有一个按钮和一个选项卡控件。当我按下按钮时,tab控件应显示某个选项卡(因此按钮应更改Tabcontrol的SelectedIndex)。我知道如何用代码隐藏来解决这个问题,但这不是我想要的


有可能用触发器实现这一点吗?

它测试了这一点,并且工作正常

注意不要使用太大的SelectedIndex。他们从0开始

<Window.Resources>
    <Storyboard x:Key="OnClick1">
        <Int32AnimationUsingKeyFrames  
                Storyboard.TargetProperty="(Selector.SelectedIndex)"
                Storyboard.TargetName="tabControl">
            <EasingInt32KeyFrame KeyTime="0" Value="1"/>
        </Int32AnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded"/>
    <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="button">
        <BeginStoryboard Storyboard="{StaticResource OnClick1}"/>
    </EventTrigger>
</Window.Triggers>

我可以发送完整的代码,如果必要的话,只是在评论中询问

以下是完整代码的链接(如果需要):
关于

它测试了这一点,并且有效

注意不要使用太大的SelectedIndex。他们从0开始

<Window.Resources>
    <Storyboard x:Key="OnClick1">
        <Int32AnimationUsingKeyFrames  
                Storyboard.TargetProperty="(Selector.SelectedIndex)"
                Storyboard.TargetName="tabControl">
            <EasingInt32KeyFrame KeyTime="0" Value="1"/>
        </Int32AnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded"/>
    <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="button">
        <BeginStoryboard Storyboard="{StaticResource OnClick1}"/>
    </EventTrigger>
</Window.Triggers>

我可以发送完整的代码,如果必要的话,只是在评论中询问

以下是完整代码的链接(如果需要):
关于

我可以知道到目前为止您做了什么来解决这个问题吗?使用eventtriggers routedevent按钮尝试。单击“和目标为{Binding Source={x:Reference tabcontrolname}}}TargetProperty=SelectedIndex”to=“2”的故事板“。不起作用,因为调试器说没有对象实例:/@xb1xbv1,通过添加代码摘录编辑您的问题,这将是一个很好的问题。我可以知道您到目前为止做了什么来解决这个问题吗?使用eventtriggers RouteEvent尝试过它”按钮。单击“和目标为{Binding Source={x:Reference tabcontrolname}的故事板”TargetProperty=SelectedIndex“To=”2“。不起作用,因为调试器说没有对象实例:/@xb1xbv1,通过添加代码摘录编辑您的问题,这将是一个很好的问题谢谢,看起来不错。”。但是一旦我添加window.triggers部分,我就会得到一个xamlparseexception。也许完整的代码会很棒,只要编辑我的帖子,添加完整源代码的链接。请告诉我好消息,看起来不错。但是一旦我添加window.triggers部分,我就会得到一个xamlparseexception。也许完整的代码会很棒,只要编辑我的帖子,添加完整源代码的链接。请告诉我好消息