2015-02-10 60 views
-1

如何使折叠标签项目可见编程在WPF?如何在WPF中以编程方式显示折叠选项卡项目?

我已经创建了一个TabControl XAML文件有三个选项卡,我已经succesively设置为可见的可见性属性。隐藏并折叠。此外,我有两个按钮之一将选项卡2设置为可见,另一个将选项卡3设置为可见。 在后面的代码我已成立了每个按钮的事件处理程序。

处理程序不编译事件。

我将不胜感激的任何建议。谢谢!

Here is my MainWindow.xaml 

<Window x:Class="WPFTabItemVisibility.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <StackPanel> 
     <TabControl> 
      <TabItem Header="Tab 1" Visibility="Visible" Content="Tab 1 Content goes here"></TabItem> 
      <TabItem Header="Tab 2" Visibility="Hidden" Content="Tab 2 Content goes here"></TabItem> 
      <TabItem Header="Tab 3" Visibility="Collapsed" Content="Tab 3 Content goes here"></TabItem> 
     </TabControl> 

     <Button Content="Make Tab 2 Visible" Margin="20" Height="30" Width="200" Click="Button_Click"/> 
     <Button Content="Make Tab 3 Visible" Margin="20" Height="30" Width="200" Click="Button_Click_1"/> 
    </StackPanel> 
</Window> 

这里是我的MainWindow.xaml.cs

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 
    using System.Windows; 
    using System.Windows.Controls; 
    using System.Windows.Data; 
    using System.Windows.Documents; 
    using System.Windows.Input; 
    using System.Windows.Media; 
    using System.Windows.Media.Imaging; 
    using System.Windows.Navigation; 
    using System.Windows.Shapes;  


namespace WPFTabItemVisibility 
    { 
     /// <summary> 
     /// Interaction logic for MainWindow.xaml 
     /// </summary> 
     public partial class MainWindow : Window 
     { 
      public MainWindow() 
      { 
       InitializeComponent(); 
      } 

      private void Button_Click(object sender, RoutedEventArgs e) 
      { 
       TabIndex = 1; 
       TabItem.VisibilityProperty = IsVisible; 

      } 

      private void Button_Click_1(object sender, RoutedEventArgs e) 
      { 
       TabIndex = 2; 
       TabItem.VisibilityProperty = IsVisible; 
      } 
     } 
    } 

Thank you!   
+0

的TabItem没有VisibilityProperty财产。 – Paparazzi 2015-02-10 20:32:04

回答

1

您可以到的TabItem给予名称,并设置其知名度。请参阅下面的代码。

<TabControl> 
     <TabItem x:Name="tab1" Header="Tab 1" Visibility="Visible" Content="Tab 1 Content goes here"></TabItem> 
     <TabItem x:Name="tab2" Header="Tab 2" Visibility="Hidden" Content="Tab 2 Content goes here"></TabItem> 
     <TabItem x:Name="tab3" Header="Tab 3" Visibility="Collapsed" Content="Tab 3 Content goes here"></TabItem> 
    </TabControl> 
    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     tab2.Visibility = Visibility.Visible; 
    } 

    private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     tab3.Visibility = Visibility.Visible; 
    } 
+0

我试过了,它成功了!非常感谢! – 2015-02-10 20:35:38

-1

试试这个在您的XAML

<StackPanel> 
    <TabControl> 
     <TabItem Header="Tab 1" 
       Visibility="Visible" 
       Name="tab1" 
       Content="Tab 1 Content goes here"></TabItem> 
     <TabItem Header="Tab 2" 
       Visibility="Hidden" 
       Name="tab2" 
       Content="Tab 2 Content goes here"></TabItem> 
     <TabItem Header="Tab 3" 
       Name="tab3" 
       Visibility="Collapsed" 
       Content="Tab 3 Content goes here"></TabItem> 
    </TabControl> 

    <Button Content="Make Tab 2 Visible" 
      Margin="20" 
      Height="30" 
      Width="200" 
      Click="Button_Click" /> 
    <Button Content="Make Tab 3 Visible" 
      Margin="20" 
      Height="30" 
      Width="200" 
      Click="Button_Click_1" /> 
</StackPanel> 

代码隐藏cs文件

private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     //TabIndex = 1; 
     //TabItem.VisibilityProperty = IsVisible; 
     tab2.Visibility = Visibility.Visible; 

    } 

    private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     //TabIndex = 2; 
     //TabItem.VisibilityProperty = IsVisible; 
     tab3.Visibility = Visibility.Visible; 
    } 
相关问题