wpf - 选项卡控件可见性已隐藏

标签 wpf tabcontrol

我有 3 个选项卡项要实现。当程序执行时,我希望用户只能看到 tab1 并隐藏 tab 2 和 tab 3。

程序执行时会发生这样的事情:

public Window1()
{   
    InitializeComponent();

    // I need tabs 2 and 3 to be hidden   
}

然后我在选项卡 1 中有一个按钮。当用户单击此按钮时,选项卡 2 会显示但仍隐藏选项卡 3

private void Button1_Click(object sender, RoutedEventArgs e)
{
    tabcontrol1.SelectedIndex = 1;
    //need some code to show tab 2
}

我在选项卡 2 中有一个按钮来显示选项卡 3,然后所有选项卡都可见

private void Button2_Click(object sender, RoutedEventArgs e)
{
    tabcontrol1.SelectedIndex = 2;
    // need some code to show tab 3    
}

我的 XAML 代码:

<TabControl Name="Tabcontrol1" Margin=" 5" SelectedIndex="0">
    <TabItem Header="Directories">
        <Grid Width="1185" Height="945" Background="White" >
            <Label Height="28" HorizontalAlignment="Right" 
                    Margin="0,0,25,0" Name="label11" VerticalAlignment="Top"  
                    Width="120">Step 1 of 2</Label>
        </Grid>
    </TabItem>
    <TabItem Header="Properties" Opacity="1" Name="Properties">
        <Grid Width="1185" Height="945" Background="White" >
            <Button Height="32" Name="Button1" VerticalAlignment="Bottom" 
                    HorizontalAlignment="Right" Width="82" Click="Button1_Click" 
                    Margin="0,0,41,49">Build</Button>
        </Grid>
    </TabItem>
    <TabItem Header ="Output">
        <Grid Width="1185" Height="945" Background="White">
            <Button Height="32" Name="Button2" VerticalAlignment="Bottom" 
                    HorizontalAlignment="Right" Width="82" Click="Button2_Click" 
                    Margin="0,0,41,49">Build</Button>
        </Grid>
     </TabItem>
</TabControl>

我很困惑,因为我只能选择一个选项卡:

tabcontrol1.SelectedIndex = 1;

我在考虑实现

tabcontrol1.SelectedIndex.Visibility = Hidden;

请指教谢谢。

最佳答案

最初将第 2 个和第 3 个选项卡的 Visibility 设置为 Collapsed。并为它们命名,以便能够在代码隐藏中访问它们。

<TabItem Name="TabItem2" Header="Properties" Opacity="1" Name="Properties" Visibility="Collapsed">
...
<TabItem Name="TabItem3" Header ="Output" Visibility="Collapsed">
...

并将您的按钮点击代码更改为以下内容:

private void Button1_Click(object sender, RoutedEventArgs e)
{
    tabcontrol1.SelectedIndex = 1;
    //need some code to show tab 2
    TabItem2.Visibility = Visibility.Visible;
}

private void Button2_Click(object sender, RoutedEventArgs e)
{
    tabcontrol1.SelectedIndex = 2;
    // need some code to show tab 3 
    TabItem3.Visibility = Visibility.Visible;   
}

关于wpf - 选项卡控件可见性已隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5074648/

相关文章:

wpf - 为 WPF + Silverlight 项目配备人员

c# - 网格和列表框有一些我无法摆脱的边框

wpf - Theme ResourceDictionary 中的 EventSetter

wpf - 双向 Binding 和 TabControl 的奇怪行为

WPF TabControl 与页面

wpf - 如何获取子元素相对于父元素的位置?

c# - 如何检测 WPF 中的 NumLock 开/关状态

c# - WPF中TabControl的TabChanged事件

c# - 我可以删除 TabControl 上选项卡上的虚线焦点矩形吗?

wpf - 如何以编程方式在 WPF TabControl 中选择 TabItem