TabControl 的 TabItems 共享相同的内容...不想要

2023-11-23

以下示例 xaml 使每个选项卡项共享相同的 TextBox。我想,在某种程度上,这是有道理的……但这是意想不到的行为,几乎感觉像是一个错误。我在文档中找不到任何解释该行为或如何正确解决该行为的信息。

<TabControl>
    <TabControl.Resources>
        <Style TargetType="TabItem">
            <Setter Property="ContentTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <TextBox />
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TabControl.Resources>
    <TabItem Name="tab1" />
    <TabItem Name="tab2" />
</TabControl>

在 tab1 和 tab2 之间切换时,使用相同的 TextBox,而我希望每个选项卡都有一个新的 TextBox。我怎样才能得到后一种情况?

子类化 TabItem 并默认将其内容设置为 TextBox 是一种方法,但我只是想确保没有遗漏的内容。

Edit

我意识到为每个选项卡显式设置内容可以解决问题,但选项卡是动态创建的。我想使用内容模板,以便我可以通过数据绑定添加新选项卡,并取消共享内容,因为它会导致奇怪的行为。

也许在 TabControl 的当前实现中,没有声明性方法来解决这个问题。在代码中设置内容非常简单,但在 WPF 中这样的事情总是感觉不对。对我来说,这似乎是对 TabControl 的不合理优化;对于不切实际的情况,它至少应该是可选的。


我怀疑有一种更好的方法来实现你想要实现的目标,但我认为这会起作用(会测试,但我在 linux atm 上):

<TabControl>
    <TabControl.Resources>
        <Style TargetType="TabItem" x:Shared="False">
            <Setter Property="ContentTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <TextBox />
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TabControl.Resources>
    <TabItem Name="tab1" />
    <TabItem Name="tab2" />
</TabControl>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TabControl 的 TabItems 共享相同的内容...不想要 的相关文章

  • 设置不可调整大小的 GridViewColumn

    我在 C WPF 应用程序中使用 ListView 和 GridViewColumn 对于某些列 我使用可见性管理器 this one https stackoverflow com a 9634769 6479770 但是 当第 1 列和
  • wpf自定义控件:另一个矩形内的可拖动/可调整大小的矩形

    我正在研究一个带有两个矩形的控件 一个在另一个矩形内 我希望用户能够拖动内部矩形 调整其大小 如果可能的话 也可以在外部矩形的边界内旋转它 这些值应该是可绑定的 以便我可以在更新时将这些值存储在我的数据源中 是否已经有这样的控件或者有人有任
  • 快速变化的集合 MVVM WPF - 高 CPU 使用率和 UI 几乎冻结

    我正在开发一个带有数据网格的应用程序 它显示某些正在运行的 Windows 进程 在我的示例 Chrome 进程中 当选中复选框时 数据网格会加载进程 要求 显示每个进程的名称 内存使用情况 私有工作集 的 实时 信息 就像在 Window
  • 我如何在 WPF 中模仿这种行为?

    我对 WPF 和 C 开发相当陌生 我正在制作这个应用程序 我不知道是否有人熟悉 VOIP App Discord 但他们有一个我非常喜欢的特定行为 并且想尝试使用 WPF 创建类似的风格 当您在 Discord 上添加服务器时 单击一个按
  • XAML:如何定义要在多个项目中使用的数据模板和样式

    我开始使用 WPF net 3 5 sp1 仅使用 VS 尚未混合 开发桌面应用程序 我现在的情况是 我在几个库中有一些通用的可重用组件 我可以在哪里定义样式和数据模板 以便它们可以在多个项目中重复使用 从而获得一致的外观和感觉 我看过 R
  • 在wpf中移动鼠标

    我目前正在寻找一种在 wpf 中移动鼠标的方法 我发现的只是我无法可靠实现的非托管方法调用 有没有一种简单的方法可以将鼠标光标移动到某个地方 即 双击后 我肯定在这里遗漏了一些东西 添加对System Windows Forms dll的引
  • 如何隐藏 WPF 控件的一部分

    是否可以隐藏 WPF 控件的一部分 NET 4 有一个 DatePicker 它呈现 4 个部分 根据MSDN http msdn microsoft com en us library cc278067 v vs 95 aspx 是否可以
  • 如何使用 CancellationTokenSource 关闭另一个线程上的对话框?

    这与我的另一个问题有关如何取消后台打印 https stackoverflow com questions 40987113 how to correctly cancel a printing task running on a back
  • 绑定到布尔值的可见性的 TargetNullValue

    我有一个Grid whose Visibility使用以下方法将属性绑定到某个模型的布尔属性Converter
  • C# ObservableCollection OnCollectionChanged 在项目更改时不会触发

    来自 MSDN 关于 OnCollectionChanged 的 内容 在添加 删除 更改 移动项目或刷新整个列表时发生 我正在更改附加到位于我的集合中的 obj 的属性 但 OnCollectionChanged 未触发 我正在 obj
  • 通过绑定启用 TabItem

    我想在不同页面是 TabItem 的应用程序中使用 MVVM 为此 我使用视图模型 项目 的可观察集合并将其绑定到选项卡控件 ItemSource 对于每个视图模型 我创建了一个单独的数据模板来呈现正确的视图 如下所示
  • 在数据网格中绑定枚举属性的最佳方法

    将枚举属性绑定到数据网格的最佳方法是什么 当前我正在使用公共属性并从那里返回枚举名称还有其他方法吗 枚举 public enum enStatus Draft 1 Published 2 Started 3 Completed 4 Mode
  • WPF 绑定无法与 int 类型的属性正常工作

    我拥有以下财产int输入我的视图模型 该模型绑定到TextBox 一切正常 TwoWay绑定工作正常 除了一种情况 如果我清除的值TextBox 属性设置器不会被调用 尽管值已被清除TextBox 属性仍保持先前的值 有人遇到过类似的问题吗
  • 来自程序集的资源作为流

    我在 C WPF 应用程序中有一个图像 其构建操作设置为 资源 它只是源目录中的一个文件 尚未通过拖放属性对话框添加到应用程序的资源集合中 我试图将它写成一个流 但尽管尝试了很多点 斜杠 命名空间和看似其他所有内容的变体 但我无法打开它 我
  • KeyEventArgs.Key 到 char

    有没有办法转换WPF的KeyEventArgs Key to Char 我尝试使用KeyInterop var x Char KeyInterop VirtualKeyFromKey e Key 对于数字和字母 它可以正常工作 但对于其他字
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似
  • WPF 数据网格性能

    我正在使用 WPF Toolkit 数据网格 它目前滚动速度非常慢 该网格有 84 列和 805 行 包括 3 个固定列 标题是固定的 水平和垂直滚动都非常慢 虚拟化已打开 并且我已在 xaml 中显式启用列虚拟化和行虚拟化 是否有什么需要
  • 如何在WPF ListView中显示时间日志的内容?

    我一直在寻找答案 但我还没有真正找到答案 我知道逻辑 但我只是不知道如何实现它 这是我的时间日志 No Mchn EnNo Name Mode IOMd DateTime 00001 1 00001234 1 0 2004 01 01 01
  • 如何通过在 FlowDocument 中单击鼠标来获取 TextPointer

    我想获取用户在 FlowDocument 中单击的单词 我当前正在向文档中的每个 Run 添加一个事件处理程序 并迭代单击的 Run 中的 TextPointers 对每个 Run 调用 GetCharacterRect 并检查矩形是否包含
  • 如果另一个对象具有 mousecapture,如何为一个对象触发 MouseEnter?

    我有一个奇怪的问题和一个 vb net 2010 和 wpf4 项目 我有一个标签 当单击时 它会捕获鼠标 MyLabel captureMouse 并在屏幕上跟随它 直到鼠标再次单击 此时对象和鼠标捕获被释放 但是 我仍然需要另一个对象的

随机推荐

  • Bluemix 新手,新应用程序出现错误“主机已被占用”

    我是 Bluemix 的新手 按照以下步骤创建应用程序 使用您的 Bluemix 帐户登录 Bluemix 打开目录菜单 从运行时部分 单击 Liberty for Java 在应用程序字段中 指定您的应用程序的名称 输入姓名 单击创建按钮
  • 覆盖Android后退按钮

    关于我为什么尝试这样做的一些信息 我正在使用 ActivityGroups 从 tabHost 活动打开一个活动 并将该新活动保留在选项卡下 那部分我已经有了 但是 在该新活动中 如果我使用后退按钮 它会将我直接退出选项卡活动 因此我必须单
  • 没有 'owned by' 属性的 Postgres 序列在 Django 1.3 中不会返回 id

    最近从 Oracle 迁移到 Postgres 并从 Django 1 2 升级到 1 3 后 我们在将对象保存到数据库时开始遇到问题 当调用 save 时 不会返回 id 即使通过标准 django 管理面板保存标准 django aut
  • android:选择图库中的多个图像并启动隐式意图

    如何获取所有选定图像的图像路径或仅将它们显示在我的应用程序中 当用户在图库中选择图像并按共享按钮时 我可以启动隐式意图并将其显示在我的 imageView 中 如下所示 ImageView iv ImageView findViewById
  • 将时间序列数据提供给有状态 LSTM 的正确方法?

    假设我有一个整数序列 0 1 2 并希望根据最后 3 个整数来预测下一个整数 例如 0 1 2 gt 5 3 4 5 gt 6 etc 假设我像这样设置模型 batch size 1 time steps 3 model Sequentia
  • 钩住时间编织块

    我想对 knitr 块进行计时 并记录使用 LaTeX 输出中的注释渲染它们所花费的时间 我尝试过以下钩子 now Sys time knit hooks set timeit function before if before now l
  • JavaScript 函数表达式前面的加号

    我一直在寻找有关立即调用函数的信息 在某个地方我偶然发现了这个符号 function console log Something 有人可以向我解释一下是什么吗 函数前面的符号意味着 做什么 它强制解析器处理以下部分 作为一种表达方式 这通常
  • 将边框应用于图像形状

    在我的应用程序中 我有不同形状的各种图像 如树 云 附有示例图片 我想以编程方式为这些形状添加边框 就像如果图像是树那么需要突出显示树的形状 我无法使用 callayer 因为它会将边框应用于 UIImageView 谁能指导我如何实现这一
  • GCC下未定义的引用与LTO交叉编译静态库

    我正在尝试使用 GCC 4 9 2 从 Linux x86 64 pc linux gnu 交叉编译 Windows x86 64 w64 mingw32 的应用程序 当构建链接到静态库的目标并使用链接时优化时 我从链接器中得到目标从库中使
  • 评估 Main(string[] args) 是否太过分了

    我有以下内容 想知道初始测试是否过度 static void Main string args if args Length 0 args null do X else do Y 换句话说 我要问的是 args Length 是否有可能为零
  • 如何在android 4.0 ICS中启用底部菜单按钮

    I want to enable bottom menu button and Which theme will be use for this menu button I try many theme but did not work f
  • 如何处理和提取图像中的文本

    我正在尝试使用 python cv2 从图像中提取文本 结果是可悲的 我找不到改进我的代码的方法 我相信在提取文本之前需要处理图像 但不确定如何处理 我尝试将其转换为黑白 但没有成功 import cv2 import os import
  • Jetpack Compose 性能问题仅发生在多模块项目中

    我在 Jetpack Compose 中开发了一个相当复杂的键盘布局 最初 布局工作正常 按下按键时动画运行非常流畅 不幸的是 由于事件而进行了几次重组之后 动画和一切都变得非常缓慢和滞后 我尝试对 Jave 方法调用进行采样 但我只能看到
  • Couchbase 4010 错误

    我一直在测试 Couchbase 5 并创建了一个名为fp conversion data其中包含一些 JSON 数据 我一直在尝试运行一些简单的查询 例如 SELECT FROM fp conversion data limit 5 我没
  • 移出的物体是否需要销毁?

    如果我移动构建a from b 还是吗必要的破坏b 或者我可以不这样做就逃脱吗 这个问题在实施过程中闪过我的脑海optional
  • 如何只保留数组中符合特定条件的项?

    我有一个数组 我想过滤它以仅包含符合特定条件的项目 这可以用 JavaScript 完成吗 一些例子 1 2 3 4 5 6 7 8 I only want 2 4 6 8 i e the even numbers This is an a
  • 如何在 Webkit GTK 中处理自定义 URL 方案?

    假设我想使用WebKitWebView在 GTK 中显示一些静态 HTML 页面 这些页面使用自定义 URL 方案 我们称之为custom 此方案表示一个本地文件 在生成 HTML 时 其位置事先未知 我所做的就是连接到navigation
  • 安卓中的AT命令

    我想在我的应用程序中使用 AT 命令来设置 GSM 调制解调器的一些命令 我搜索了谷歌 但找不到任何好的答案 你有什么解决办法吗 我可以使用ADB向android发送AT命令吗 首先你必须root手机然后在adb shell中 su ech
  • 如何创建支持通用 id(包括自动生成的 id)的通用实体模型类?

    我有三个kinds表的主键数 INT自动生成的主键使用AUTO INCREMENT来自数据库供应商的容量 MySQL CHAR X 将用户可读值存储为键的主键 其中 X 是数字且 50 复杂主键 由表的 2 或 3 个字段组成 此外 还有一
  • TabControl 的 TabItems 共享相同的内容...不想要

    以下示例 xaml 使每个选项卡项共享相同的 TextBox 我想 在某种程度上 这是有道理的 但这是意想不到的行为 几乎感觉像是一个错误 我在文档中找不到任何解释该行为或如何正确解决该行为的信息