Создайте TabControl для кода за одно нажатие кнопки - PullRequest
0 голосов
/ 03 декабря 2009

для события нажатия кнопки Мне нужно создать две вкладки под кнопкой

private void bnOpen_Click (отправитель объекта, RoutedEventArgs e) {

}

Ответы [ 2 ]

0 голосов
/ 05 декабря 2009

Что я сделал здесь:

xaml:

Темы: ThemeManager.StyleKey = "SelectorDropDownButtonStyle" />

                    <TextBox x:Name="txtFolderName" Themes:ThemeManager.StyleKey="TextBox"  IsReadOnly="True" Grid.Column="0" />
             </Grid>

    <Controls:TabControl x:Name="tbc" HorizontalAlignment="Stretch" Width="auto" Grid.Row="1" HorizontalContentAlignment="Stretch">
                        <Controls:TabControl.Items >
                            <Controls:TabItem x:Name="brw" Header="Browse" Height="auto">
                    <Grid >
                            <Border x:Name="PopupOuterBorder" Themes:ThemeManager.StyleKey="ReportSelectorOuterBorder"/>
                            <Border x:Name="PopupInnerBorder" Background="#404040" Themes:ThemeManager.StyleKey="ReportSelectorPopupInnerBorder">
                            <ScrollViewer x:Name="scrollBar"   HorizontalScrollBarVisibility="Auto" Height="100" Themes:ThemeManager.StyleKey="TreeScrollViewer" >
                            <Browser:FolderBrowser x:Name="folderPickerTree"   SelectionChanged="tree_SelectionChanged"    ></Browser:FolderBrowser>
                            </ScrollViewer>
                            </Border>
                    </Grid>
            </Controls:TabItem>
            <Controls:TabItem Header="Search" Height="auto" >

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <TextBox x:Name="tbSearch" Grid.Row="0" Grid.Column="0" Themes:ThemeManager.StyleKey="TextBox" TextChanged="SearchTextChangeEvent" />
                    <Button x:Name="bnSearch" Grid.Row="0" Grid.Column="1"  Themes:ThemeManager.StyleKey="Button"  Click="bnSearch_Click" Content="Search"/>
                    <ListBox x:Name="displayfolderList" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" Height="30"></ListBox>
                </Grid>
            </Controls:TabItem>
        </Controls:TabControl.Items>       
        </Controls:TabControl>

код сзади:

public FolderPickerControl () { InitializeComponent (); tbc.Visibility = Visibility.Collapsed; }

private void bnOpen_Click (отправитель объекта, RoutedEventArgs e) {

        if (IsDesignTime)
            return;
        brw.IsSelected = true;    
        if (tbc.Visibility != Visibility.Visible)
        {

            tbc.Visibility = Visibility.Visible;
        }
        else
        {
            tbc.Visibility = Visibility.Collapsed;
        }
    }
0 голосов
/ 03 декабря 2009

Вы можете сделать что-то вроде следующего:

  1. Создайте пользовательский элемент управления TabControl со всеми вкладками, которые вы хотите отобразить.
  2. Перетащите заполнитель на страницу asp.net, например phTabHolder.
  3. Добавьте пользовательский элемент управления, чтобы поместить элемент-держатель при событии нажатия кнопки, и показать / скрыть вкладки, которые вы хотите отобразить. Например, phTabHolder.Controls.Add(m_UCtlMyTabControl)

См. для динамического добавления элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...