问题标签 [tabitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
49116 浏览

c# - 在 C# WPF 中,为什么我的 TabControl 的 SelectionChanged 事件触发太频繁?

我有一个选项卡式 GUI,每个选项卡都包含一个框架。在其中一个框架中有一个 DataGrid。当用户选择此选项卡时,我需要对数据网格进行排序,因此我使用 TabControl SelectionChanged 事件来触发排序。但是,每次从 DataGrid 中选择一个项目时都会触发此事件,即使选项卡本身保持不变。

我尝试了许多不同的事件:GotFocus for a TabItem RequestBringIntoView for a TabItem

但他们似乎都遇到了这个问题。这是什么原因造成的?

0 投票
1 回答
2645 浏览

swt - 多行表格标题/多行 TabItem 文本

我将应用程序从 Swing 迁移到 SWT,但无法找到如何在 SWT 多行和 TabItems 中制作表格标题以具有多行文本。在 Swing 中这不是问题,但在 SWT 中则没有。对于表头,我发现它在 linux 上可以工作,但我需要它用于 windows。我试过了\n<br>但没有。

0 投票
1 回答
2770 浏览

wpf - WPF:使用样式在 TabItem 标头内设置标签的前景

我有一个 TabControl,它看起来像这样:

好的,我喜欢在选择项目时使用不同的文本颜色。我为此目的创建了一个样式:

我尝试只设置Label.Foreground,但它似乎不起作用。我还尝试了一个 TextBlock,但效果不佳。

我觉得这个问题和我的差不多,但问题最后还是没有解决: Setting TabItem foreground color also sets the TabControl foreground color

谢谢你的帮助。

0 投票
1 回答
535 浏览

drag-and-drop - 在 SWT 中进行拖放操作时在悬停时选择选项卡项

在悬停时进行拖放操作时,我需要从 SWT 选项卡文件夹中选择选项卡项,就像 Windows 对任务栏按钮所做的那样。我的解决方案可能依赖于平台(Windows)。

不幸的是,在 DND 操作中鼠标跟踪事件不会触发。我决定自己实现悬停事件。我通过dragOver事件得到了一些鼠标事件,我知道悬停区域的区域与双击区域相同,可以使用GetSystemMetrics获得。但是,对于悬停延迟,我似乎只能从注册表中获取它。调用一些原生函数是可以的,但是注册表似乎有点太极端了。

您是否有任何其他解决方案,或者至少有一些 API 可以找到悬停延迟?

0 投票
1 回答
1859 浏览

wpf - 在 WPF TabItem 标题中显示动态数字

我有一个 TabControl,其中每个项目都包含一个名为 Timeline 的用户控件。这个“时间线”有一个名为“数字”的属性,它在运行时会发生变化。

我想让属性“数字”显示在 TabItem 标题中。老实说,我真的不知道该怎么做。

我的第一个想法是我必须创建一个从原始 TabItem 控件派生的自定义控件,并创建一个 DependencyProperty 或具有自定义 ControlTemplate 的东西。

我觉得我解释得不好...

一个例子:我想在下面的 url 上做类似帖子中的第三张图片,但不是关闭按钮,我想显示在运行时动态变化的属性“数字”!

http://geekswithblogs.net/kobush/archive/2007/04/08/closeabletabitem.aspx

0 投票
1 回答
1911 浏览

.net - Silverlight:使用所有选项卡的标准 ContentTemplate 动态地将 TabItems 添加到 TabControl

我想使用标准的 ContentTemplate 将 TabItems 动态添加到 TabControl,该标准 ContentTemplate 由网格和一些其他输入控件(如文本框和按钮)组成。有人可以帮我实现这一目标吗?

此外,如果我尝试将数据从 WCF 服务异步加载到网格中,肯定会有时间延迟。那么即使选择的选项卡不同,我如何将数据准确地绑定到正确的网格?(这里的问题是如何找到要绑定的正确网格控件)

0 投票
1 回答
5766 浏览

wpf - 如何更改 wpf TabControl 中 TabItem 的顺序

我需要更改 TabItem 的顺序。

我试过删除/插入,但它不起作用。

InvalidOperationException:元素已经有一个逻辑父级。在附加到新的父级之前,它必须与旧的父级分离。

如何解决这个问题?

0 投票
2 回答
1270 浏览

wpf - WPF TabControl SelectedItem 更改时如何访问新的可视化树

考虑一个已经加载并呈现的具有三个选项卡的 TabControl,其中选定的选项卡是索引 1(中间一个):

选项卡 1:有一个文本框

选项卡 2:有两个文本框

选项卡 3:具有三个文本框

如果我使用 VisualTreeHelper 遍历 selectedItem 的可视化树,我将在 TabControl 的子项中获得两个文本框。

I want to iterate again when the tab selection changes and access the new tab's controls. 如果我切换到标签索引 2,我应该使用 VisualTreeHelper 找到三个文本框。

正常的解决方案是订阅选择更改事件并通过树来获取新显示的控件。问题是,此时此刻,视觉树仍然有旧选项卡,使得这个搜索毫无价值。

如何拦截显示新 TabItem 并触发我的搜索的时刻?

我正在创建一个动态验证引擎,它监视给定 UI 的所有输入控件,即使它因 ContentControl 模板更改或 TabControl 选定选项卡更改而发生更改......我希望你能得到图片。

有任何想法吗?

0 投票
1 回答
736 浏览

wpf - 问题将数据绑定到动态创建的 wpf TabItem 中的控件

我在将数据放入 wpf TabItem 控件时遇到问题。我在 xaml 中定义了几个 DataTemplates。这是其中之一:

<Window.Resources>
...
<DataTemplate x:Key="memoTab">
<TextBox Name="memoTextBox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AcceptsReturn="True" />
</DataTemplate>
...
</Window.Resources>

然后我在后面的代码中创建新选项卡,如下所示:

TabItem tab = new TabItem();
tab.Header = "Memo";
tab.ContentTemplate = (DataTemplate)FindResource("memoTab");
tab.ApplyTemplate();
System.Windows.Controls.TextBox tb = (System.Windows.Controls.TextBox)tab.Template.FindName("memoTextBox", tab);
if (tb != null) tb.DataContext = memo; //string memo is created earlier as linq query
tabControl.Items.Add(tab); //tabControl is xaml defined

问题是 tb 始终为空,因此文本框中不显示任何数据(文本框本身显示在选项卡中,并且可以正常工作)

我不使用 xaml 在 tabControl 中创建选项卡(除了第一个,它不使用 DataTemplate 并且很好),因为它们是由用户在运行时添加和删除的。

有任何想法吗?

0 投票
2 回答
3599 浏览

wpf - 有没有办法取消 TabControl.Items.CurrentChanging?

不幸的是,没有 TabControl.SelectionChanging 事件 (Selector.SelectionChanging),我正在努力实现此行为,因此我可以取消更改请求。

我尝试将TabControl.Items.CurrentChangingItems属性为和ItemCollection)事件设置 e.Cancel(的CurrentChangingEventArgs)设置为 true,但 UI 使用新选项卡更新,尽管集合中的项目未更改。

TabItem当条件不满意时,有什么方法可以防止用户切换到另一个?