请我尝试将左边的每个按钮指定为自己的Tab控件。例如,当按下Intake表单按钮时,它将有自己的一组选项卡(它自己的tabcontrols)
我应该在画板上放置多个标签控件,还是有一种方法可以以编程方式更改标签的名称,还有内容,当按下左侧的按钮时?
提前谢谢。
这是一个链接hxxp://img709.imageshack.us/img709/554/tabcontrol.gif
这是迄今为止的代码
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Class="service.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="687" Height="480" mc:Ignorable="d">
<Window.Resources>
<Storyboard x:Key="OnLoaded1"/>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource OnLoaded1}"/>
</EventTrigger>
</Window.Triggers>
<Grid x:Name="LayoutRoot" Margin="0,0,-16,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<DockPanel Margin="8,8,0,7" LastChildFill="False" Grid.Column="1" HorizontalAlignment="Left" Width="660">
<Menu VerticalAlignment="Top" Width="657" Height="32">
<MenuItem x:Name="file" Header="File"/>
<MenuItem x:Name="edit" Header="Edit">
<MenuItem Width="100" Height="100" Header="MenuItem"/>
</MenuItem>
<MenuItem x:Name="view" Header="View"/>
<MenuItem x:Name="preferences" Header="Preferences"/>
<MenuItem x:Name="help" Header="Help"/>
</Menu>
</DockPanel>
<TabControl x:Name="tabwin" Margin="137.224,46,19,7" Grid.Column="1">
<TabItem x:Name="intakeformsub" Header="Elegibility Form">
<Grid HorizontalAlignment="Left" Width="490"/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.567*"/>
<ColumnDefinition Width="0.433*"/>
</Grid.ColumnDefinitions>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.735*"/>
<ColumnDefinition Width="0.265*"/>
</Grid.ColumnDefinitions>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
</TabControl>
<Grid x:Name="___buttontab" Margin="11.205,61,0,0" Grid.Column="1" HorizontalAlignment="Left" Width="122.019" VerticalAlignment="Top" Height="276">
<Button VerticalAlignment="Top" Height="36" Content="Button"/>
<Button Margin="0,40,0,0" Content="Oasis Assessments" VerticalAlignment="Top" Height="36"/>
<Button Margin="0,80,0,0" VerticalAlignment="Top" Height="36" Content="Plan of Care"/>
<Button Margin="0,120,0,0" VerticalAlignment="Top" Height="36" Content="Medication Profile" RenderTransformOrigin="0.421,5.556"/>
<Button Margin="0,0,0,80" VerticalAlignment="Bottom" Height="36" Content="Clinical Notes"/>
<Button Margin="0,0,0,40" VerticalAlignment="Bottom" Height="36" Content="Infection Control"/>
<Button x:Name="intakeformbtn" VerticalAlignment="Top" Height="36" Content="Intake Form" Click="intakeform">
<Button.BindingGroup>
<BindingGroup/>
</Button.BindingGroup>
</Button>
<Button VerticalAlignment="Bottom" Height="36" Content="Discharge Summary"/>
</Grid>
<ProgressBar HorizontalAlignment="Left" Margin="8,0,0,7" VerticalAlignment="Bottom" Width="104.795" Height="19" Grid.Column="1"/>
</Grid>
</Window>
答案 0 :(得分:0)
解决此问题的一种方法是使用另一个TabControl
而不是按钮,但选项卡标题重新设置为按钮而不是标签。这样您甚至不必处理按钮更改。
请尝试以下代码:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Class="WpfApplication16.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="687" Height="480" mc:Ignorable="d">
<Window.Resources>
<Storyboard x:Key="OnLoaded1"/>
<Style TargetType="{x:Type TabItem}" x:Key="TabButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabItem}}, Path=IsSelected, Mode=TwoWay}"
Margin="10">
<ContentPresenter ContentSource="Header" />
</ToggleButton>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource OnLoaded1}"/>
</EventTrigger>
</Window.Triggers>
<Grid x:Name="LayoutRoot" Margin="0,0,-16,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<DockPanel Margin="8,8,0,7" LastChildFill="False" Grid.Column="1" HorizontalAlignment="Left" Width="660">
<Menu VerticalAlignment="Top" Width="657" Height="32">
<MenuItem x:Name="file" Header="File"/>
<MenuItem x:Name="edit" Header="Edit">
<MenuItem Width="100" Height="100" Header="MenuItem"/>
</MenuItem>
<MenuItem x:Name="view" Header="View"/>
<MenuItem x:Name="preferences" Header="Preferences"/>
<MenuItem x:Name="help" Header="Help"/>
</Menu>
</DockPanel>
<TabControl Margin="0,61,0,0" Grid.Column="1" ItemContainerStyle="{StaticResource TabButtonStyle}" TabStripPlacement="Left">
<TabControl.Items>
<TabItem Header="Button">
<Grid>
<TabControl x:Name="tabwin">
<TabItem x:Name="intakeformsub" Header="Elegibility Form">
<Grid HorizontalAlignment="Left" Width="490"/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.567*"/>
<ColumnDefinition Width="0.433*"/>
</Grid.ColumnDefinitions>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.735*"/>
<ColumnDefinition Width="0.265*"/>
</Grid.ColumnDefinitions>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
<TabItem Header="TabItem">
<Grid/>
</TabItem>
</TabControl>
<ProgressBar HorizontalAlignment="Left" Margin="8,0,0,7" VerticalAlignment="Bottom" Width="104.795" Height="19" Grid.Column="1"/>
</Grid>
</TabItem>
<TabItem Header="Oasis Assessments">
Foo
</TabItem>
<TabItem Header="Plan of Care">
Bar
</TabItem>
<TabItem Header="Medication Profile">
</TabItem>
<TabItem Header="Clinical Notes">
</TabItem>
<TabItem Header="Infection Control">
</TabItem>
<TabItem Header="Intake Form">
</TabItem>
</TabControl.Items>
</TabControl>
</Grid>
</Window>