目前我有一组ToggleButtons。 我想根据选中哪个按钮来显示TabControl的一个不同Tab。基本上同样的bahaviour就像选择不同的Tab时一样。不知道我的需求是无稽之谈,但无论如何。我希望SelectedTab根据点击哪个按钮而改变。此外,我的ToggleButtons是RadioButtons,坚持使用Togglebuttons(我只希望一次检查一个)。我想尝试仅在XAML中实现我的需求(如果可能的话)。TabControl - 作为TabSeletors的ToggleButtons(仅限XAML逻辑)
因此,这里是我的XAML的一部分:
<Window.Resources>
<sys:Int32 x:Key="CurrentTab"></sys:Int32>
<Style TargetType="RadioButton" BasedOn="{StaticResource {x:Type ToggleButton}}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Aqua"></Setter>
</Trigger>
</Style.Triggers>
<Setter Property="Background" Value="Transparent"></Setter>
</Style>
</Window.Resources>
<TabControl Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
SelectedIndex="{StaticResource CurrentTab}">
<TabItem Visibility="Collapsed"></TabItem>
<TabItem Visibility="Collapsed"></TabItem>
</TabControl>
我在想会是这样的(伪):
<Setter Target="{StaticResource CurrentTab}" Value="{ButtonsToolTip}></Setter>
基本上是它甚至有可能赋值给变量在XAML中,如果是 - 如何?
至于为什么,什么我尽量做到一个例子是这样的GUI:
我不认为这是可能的,而不是在XAML中。您可以将其更改为“DynamicResource”,但仍需要一些C#来更改“CurrentTab”值。 –
@MikeEason嗯没关系。因此,可以说我为我的ButtonStyle添加了一个EventTrigger(CheckChanged或某事),并且在我的代码中的命令后面我将为CurrentTab设置一个值。这是否会自动为我的TabControls SelectedIndex引发propertyChanged事件? –
我仍然不完全确定根据你的描述你想完成什么,但它听起来像你可以设置一个交互触发器在你的切换按钮上执行基于任何ToggleButton的IsChecked的Tab控件上的ChangePropertyAction –