tabcontrol 相关问题

选项卡控件是图形用户界面中的控件,其包含在屏幕上共享相同空间的多个选项卡项。

使用 VBA /MS Access 从 TabControl 中删除选项卡

使用此代码我尝试使用我的代码从主“选项卡”中删除选项卡,但我不知何故缺少正确的方法 `私有子DeleteAlltabs(frm作为对象) 将 tabCtrl 调暗为 TabContr...

回答 1 投票 0

从聚焦的 TabItem 中删除边框底部

单击选项卡后,我想删除底部的边框。 目前我有这个: 现在我想删除标记的边框部分。 我搜索了很多,发现了这个: 选项卡项目和选项卡控件

回答 1 投票 0

Windows 窗体选项卡控件随背景闪烁

我在 Windows 窗体上有一个面板。根据他们单击的按钮将表单加载到面板中。加载到面板中的这些表单之一具有选项卡控件。表格的背景是

回答 5 投票 0

如何使用 MVVM 将 WPF TabItem 绑定到特定的 C# 类?

我想将 TabControl 的每个 TabItem 绑定到特定的 C# 类,以使用类属性的状态来对 View 进行反应。我尝试使用 MVVM,我知道这样可以更好地将对象集合绑定到

回答 1 投票 0

如何在 C# 和 WPF 中从 itemsource/list 创建 tabitem 标头?

当 JSON 文件中有可观察的集合时,我尝试为 tabitem 创建标头,如下面的代码所示。 // 将 JSON 数组反序列化为 List 列表 当 JSON 文件中有可观察的集合时,我尝试为 tabitem 创建标头,如下面的代码所示。 // Deserialize the JSON array into a List<ModelClass> List<Model> dataList = JsonConvert.DeserializeObject<List<Model>>(messagecontent); // Convert List<ModelClass> to ObservableCollection<ModelClass> ObservableCollection<Model> observableCollection = new ObservableCollection<Model>(dataList); Dispatcher.Invoke(() => { TabitemSub.Items.Clear(); TabitemSub.ItemsSource = observableCollection; foreach (var item in observableCollection) { TabItem tabitem = new TabItem(); tabitem.Header = item.property1; TabitemSub.Items.Add(tabitem); } } 我的Xaml: <GroupBox Grid.Row="1" Header="Groupbox1:" BorderThickness="2" FontWeight="Bold" FontSize="15" BorderBrush="Black" Margin="5"> <Grid HorizontalAlignment="Stretch" Width="Auto"> <TabControl> <TabItem Header="TabitemMain"> <TabControl x:Name="TabitemSub" Height="500" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="5"> </TabControl> </TabItem> 但是每次我运行代码而不是给我一串 property1 时,我都会继续获取模型的路径,例如每个项目结果中的 project.MVVM.Model.Model 。为什么会发生这种情况?我该如何解决这个问题? 谢谢你 如果我进行以下更改,则设法使其正常工作: Dispatcher.Invoke(() => { TabitemSub.Items.Clear(); foreach (Model item in datalist) { TabItem tabitem = new TabItem(); tabitem.Header = item.property1; TabitemSub.Items.Add(tabitem); } } 然后它将为每个 property1 值创建选项卡。

回答 1 投票 0

如何让 TabControl 使用其父级的完整宽度?

标准 System.Windows.Forms.TabControl 组件在其包含的 TabPage 周围绘制边框。如果将其 Dock 设置为 Fill,这些边框会一直延伸到父控件的边缘,但它们...

回答 9 投票 0

最小化 Form C# 后 TabControl 变得混乱

这些图片将帮助解决我的问题。 当我最小化表单并将其从最小化状态恢复时,TabControl 看起来像......我什至不知道如何描述它。上面的链接会有帮助......

回答 1 投票 0

将 TabPanel 更改为 Visibility.Collapsed 在代码隐藏中

我目前遇到以下问题:WPF TabControl 折叠选项卡标题未完全隐藏(当我折叠 TabItems 时,我仍然看到一条由几个像素组成的灰线,其中

回答 1 投票 0

如何在c#中的选项卡控件上添加表单

我有一个带有文本框和数据网格视图的表单页面以及包含选项卡控件的其他表单。我想在第二个表单中添加第一个表单选项卡。我尝试编写要应用的表单的代码...

回答 5 投票 0

根据条件成对划分WPF TabControl选项卡

我需要制作TabControl,其选项卡成对划分。我已经制作了看起来像我需要的模板表单并且可以按照我需要的方式工作 但我当然需要了解选项卡按钮将位于右栏......

回答 1 投票 0

C# WinForm 使用 TabControls 时组织代码 [关闭]

我想知道是否有关于如何更好地组织 C# WinForm 代码而不是将所有代码放在 Form1 中的建议。 我目前使用的格式 #区域选项卡1 //tab1的代码 #

回答 1 投票 0

`vsync` 属性

根据这个:示例代码 我创建了自己的 TabController 实现: 无效主(){ runApp(new MyApp()); } 类 MyApp 扩展 StatefulWidget { @覆盖 _MyAppState createStat...

回答 9 投票 0

将集合中的现有选项卡从另一个表单插入到选项卡控件中

我是 C# 新手,正在构建一个应用程序以多种方式与数据交互。我想为用户提供通过在主屏幕上的 TabControl 中显示和隐藏选项卡来自定义界面的机会...

回答 1 投票 0

WinForm中如何获取子控件的内容?

我有WinForm,它有很多控件(tabcontrol,tabpage,datagridview,...等)。我想获取datagridview中的数据。设计的结构是这样的(TabControl会有很多TabPage,每个

回答 1 投票 0

在 WPF HandyControl TabControl 中自定义下拉内容

我正在使用 WPF HandyControl TabControl,当有太多选项卡无法容纳在可见区域中时,我想自定义下拉列表中显示的内容。目前,当制表符宽度 ex...

回答 1 投票 0

检查是否选择了特定标签页(活动)

我正在创建一个事件来检查选项卡控件中的特定选项卡页是否处于活动状态。 重点是,如果选项卡控件中的选项卡页是当前选定的选项卡,则会触发事件。任何代码...

回答 7 投票 0

从 TabControl 中删除选项卡:错误 4 无法找到绑定源

我有一个带有特殊“+ tab”的 TabControl,其定义如下: 我有一个带有特殊“+ tab”的 TabControl,其定义如下: <TabControl x:Name="ProjectsTabControl"> <local:ProjectTabItem x:Name="AddProjectTabTabItem" Header="+" MouseUp="AddProjectButton_Click" PreviewMouseDown="AddProjectTabTabItem_PreviewMouseDown"/> </TabControl> “MouseDown”只是将鼠标事件参数标记为已处理(以防止选择选项卡)。 “Button_Click”添加了一个具有以下样式的新选项卡: <Window.Resources> <Style x:Key="CloseableTabItemStyle" TargetType="local:ProjectTabItem"> <Setter Property="HeaderTemplate"> <Setter.Value> <DataTemplate> <DockPanel> <TextBlock Text="{Binding}" Margin="0,0,5,0"/> <Button Content="X" Click="CloseButton_Click" Tag="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:ProjectTabItem}}}"/> </DockPanel> </DataTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> 这些是我使用的“实际”选项卡。每个此类选项卡的标题中都有一个“关闭按钮”。如您所见,关闭按钮的标签设置为 ProjectTabItem 祖先。 我的CloseButton逻辑如下: private async void CloseButton_Click(object sender, RoutedEventArgs e) { if (sender is Button closeButton && closeButton.Tag is ProjectTabItem tabItem) { ProjectsTabControl.Items.Remove(tabItem); if (ProjectsTabControl.SelectedIndex == ProjectsTabControl.Items.Count - 1) { ProjectsTabControl.SelectedIndex--; } } } 这里的想法是防止选择+选项卡(但是,即使我选择+选项卡,我很快就会描述的问题也会发生)。 当我关闭最后一个选项卡(即+选项卡之前的最后一个选项卡)时,我看到以下错误 System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.TabControl', AncestorLevel='1''. BindingExpression:Path=TabStripPlacement; DataItem=null; target element is 'ProjectTabItem' (Name=''); target property is 'NoTarget' (type 'Object') 只有在关闭选项卡时选择该选项卡时才会发生这种情况。 似乎如果我在关闭“最后一个”选项卡之前先打开一个新选项卡,则问题不会发生。 (但是,这对我没有帮助,因为我希望除了 + 选项卡之外根本没有任何选项卡。) 这是什么原因造成的?我该如何解决它? 编辑:我想我已经找到了解决方法here。在删除选项卡之前设置 tabItem.Template = null; 实际上可以解决问题。那么让我将问题改为:为什么会发生这种情况?这个“解决方案”实际上是一个解决方案还是它只是抑制了我的代码中的一些潜在的重要问题? 只要您使用代码隐藏,您就永远无法享受 WPF 的乐趣。你总是会陷入“解决方法-陷阱”。如果您遵循 MVVM 模式,事情会变得容易得多。 我刚刚在我的应用程序中创建了一个 TabControl ,它绑定到一个 Observable Collection 在此可观察集合中是 TabItemModel: public class TabItemModel : ViewModelBase { private string _header; private ObservableObject _content; public string Header { get { return _header; } set { _header = value; RaisePropertyChanged(nameof(Header)); } } public ObservableObject Content { get { return _content; } set { _content = value; RaisePropertyChanged(nameof(Content)); } } private readonly IMessenger _messenger; public RelayCommand CloseTabCommand { get; set; } public TabItemModel(IMessenger messenger) { _messenger = messenger; CloseTabCommand = new RelayCommand(CloseThisTab); } private void CloseThisTab() { _messenger.Send(this); } } 这里是 XAML - 此 TabControl 的一部分: <TabControl Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" ItemsSource="{Binding TabItems.Models}" SelectedItem="{Binding ActiveTab, Mode=TwoWay}"> <TabControl.ItemTemplate> <DataTemplate> <Border BorderBrush="Black" BorderThickness="2" CornerRadius="5" Margin="10,0,0,0"> <Grid Width="auto"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="9*"/> </Grid.ColumnDefinitions> <TextBlock Text="{Binding Header}" FontSize="12" FontWeight="DemiBold" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="12,0" Width="auto"/> <Button Grid.Column="1" Foreground="White" Command="{Binding CloseTabCommand}" HorizontalAlignment="Right" Padding="5" VerticalContentAlignment="Center" Margin="5"> <Button.Content> <Image Source="/icon-delete.png" Height="12" Width="12"/> </Button.Content> </Button> </Grid> </Border> </DataTemplate> </TabControl.ItemTemplate> MainViewModel 中的声明: [ObservableProperty] TabItemViewModel tabItems; [ObservableProperty] TabItemModel activeTab; XAML 中的按钮会触发 TabItemModel 中的 Relay-Command,该命令会向 View-Model 发送消息以关闭选项卡。我只是从集合中删除了这个特定的模型: public void Handle(TabItemModel message) { if (TabItems.Models.Count > 0) { TabItems.Models.Remove(message); } } 对我来说效果很好。

回答 1 投票 0

请批评这个方法

嗨,我一直在网上寻找一些选项卡按钮关闭功能,但所有这些解决方案都有一些复杂的事件处理程序,我想尝试保持简单,但我可能已经破坏了

回答 2 投票 0

Blazor 的选项卡控制菜单

我需要实现一个选项卡控件菜单。在每个选项卡中,我需要渲染用户在应用程序菜单中单击的页面。用户单击的所有页面必须渲染在选项卡控件内,而不是初始化...

回答 1 投票 0

我如何优化 winforms c# 中的选项卡

该选项卡有 19 个组合框,每个组合框填充了大约 500 个项目,winforms 导致加载选项卡时出现相当多的延迟,有什么方法可以优化它,这只发生在网络上...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.