как использовать несколько элементов управления вкладками, и чтобы иметь возможность вызывать выбранный элемент управления вкладки с помощью кнопок - PullRequest
0 голосов
/ 17 мая 2010

Пожалуйста, я пытаюсь назначить каждой кнопке слева свой собственный элемент управления Tab. Например, когда нажата кнопка «Форма ввода», она будет иметь собственный набор вкладок (свои собственные элементы управления вкладками)

я должен разместить несколько элементов управления вкладками на артборде или есть способ программно изменить названия вкладок и их содержимое, когда кнопка нажимается слева?

Заранее спасибо.

и вот ссылка 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>

1 Ответ

0 голосов
/ 17 мая 2010

Способ решения этой проблемы состоит в использовании другой кнопки 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...