c# – 选项卡控件默认选择第一个选项卡
发布时间:2020-12-15 07:51:39 所属栏目:百科 来源:网络整理
导读:我不确定这是否只是默认的 WPF选项卡控件行为或是否有一种方法可以禁用它. 我有一个tab控件定义如下: TabControl TabStripPlacement="Left" Background="Transparent" ItemsSource="{Binding Path=AvailableProducts}" SelectedValuePath="Name" SelectedVa
我不确定这是否只是默认的
WPF选项卡控件行为或是否有一种方法可以禁用它.
我有一个tab控件定义如下: <TabControl TabStripPlacement="Left" Background="Transparent" ItemsSource="{Binding Path=AvailableProducts}" SelectedValuePath="Name" SelectedValue="{Binding Path=SelectedProduct,Mode=TwoWay}"> AvailableProducts是产品列表.例如: Foo Bar Baz 最初,SelectedProduct为null但是当显示选项卡控件时,它会自动选择Foo.我想要的是根本没有选择标签. 选项卡控件是否总是选择第一个选项卡? UPDATE 我添加了一些示例代码,显示了我所描述的内容. <Window x:Class="WpfApplication1.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"> <Grid> <TabControl SelectedIndex="1"> <TabItem Header="TAB 1"> <Button>TEST</Button> </TabItem> <TabItem Header="TAB 2"> <TabControl TabStripPlacement="Left" Background="Transparent" ItemsSource="{Binding Path=AvailableProducts}" SelectedValuePath="Name" SelectedValue="{Binding Path=SelectedProduct,Mode=TwoWay}"/> </TabItem> </TabControl> </Grid> </Window> using System.Collections.Generic; namespace WpfApplication1 { public partial class MainWindow { private List<Product> _availableProducts = new List<Product>(); public MainWindow() { SelectedProduct = null; InitializeComponent(); _availableProducts.Add(new Product("Foo")); _availableProducts.Add(new Product("Bar")); _availableProducts.Add(new Product("Baz")); DataContext = this; } public List<Product> AvailableProducts { get { return _availableProducts; } } public string SelectedProduct { get; set; } } public class Product { public Product(string name) { Name = name; } public string Name { get; set; } public override string ToString() { return Name; } } } 如果您运行上面的代码,应用程序将以“TAB 2”显示,并且未选择任何选项卡Foo / Bar / Baz.但是,如果你改变了 <TabControl SelectedIndex="1"> 至 <TabControl SelectedIndex="0"> 并运行应用程序,它从“TAB 1”开始,当您切换到“TAB 2”时,选择第一个选项卡(Foo). 我不明白为什么如果你从“TAB 2”开始它按预期工作,但是如果你从“TAB 1”开始然后切换到“TAB 2”,默认选择一个标签. 解决方法
选项卡控件始终显示其中一个选项卡的内容,因此如果您没有明确告诉它哪个选项卡,它将使用第一个选项卡.你根本不能显示任何标签.
在选择产品之前,您可以尝试隐藏/禁用选项卡/选项卡控件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |