在列表框中找到控件?

2024-01-08

   <Style TargetType="ListBoxItem" x:Key="ListBoxItemTemplate">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ListBoxItem">
                    <Button Content="{TemplateBinding Content}"></Button>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>     
    <ListBox ItemsSource="{Binding S}" 
             x:Name="listBox" 
             ItemContainerStyle="{StaticResource ListBoxItemTemplate}">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid x:Name="grid" Columns="5"></UniformGrid>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListBox>

我想从列表框控件中查找“网格”。请帮助我,谢谢。


在 Melak 的回答中需要添加一些内容(这有点太长了,无法发表评论。)

通常,从 WPF 中的模板获取命名元素的方法是调用模板的 FindName 方法。但是,由于模板基本上是工厂,因此您还需要说明您需要模板的哪个特定实例 - 单个 ItemsPanelTemplate 可能已被实例化多次。所以你需要这样的东西:

var grid = (UniformGrid) listBox.ItemsPanel.FindName("grid", ???);

但那里面有什么???占位符?它不是 ListBox 本身 - ListBox 实际上并不直接使用该 ItemsPanel。最终,它由 ListBox 模板中的 ItemsPresenter 使用。所以你需要这样做:

var grid = (UniformGrid) listBox.ItemsPanel.FindName("grid", myItemsPresenter);

...除了,也没有可靠的方法来获取 ItemsPresenter。事实上,甚至可能没有一个 - 为直接提供托管面板的 ListBox 创建模板是合法的 - 甚至有一个特殊的属性,Panel.IsItemsHost,就是为了这个目的。

这就引出了我想补充的第二点。在 ListBox 的模板不使用 ItemsPresenter 的情况下,ItemsPanel 将不被使用。因此,您试图获取的 UniformGrid 实际上可能根本不存在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在列表框中找到控件? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 如何在C#背后的代码中动态创建数据模板并绑定TreeView分层数据

    我有一个场景 其中树视图动态更改其数据模板和数据绑定定义 我在 XAML 中创建了一个树视图 如下所示
  • 如何从代码隐藏访问ListBox动态创建的项目的属性?

    XAML
  • Wpf TextBlock 中的垂直文本

    是否可以垂直显示 TextBlock 中的文本 以便所有字母彼此堆叠 不使用 LayoutTransform 旋转 还没有人提到使用纯 XAML 垂直堆叠任意字符串的字母 不旋转它们 的明显而简单的方法
  • WPF 处理文本、图像和文件粘贴事件

    我正在开发一个 WPF 应用程序 我想捕获 RichTextBox 输入中的粘贴命令并处理粘贴的文件 为此 我使用以下回调
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • WPF ListView/Gridview 允许用户选择多个项目并将它们分组在一起

    我在 MVVM 应用程序中有一个 WPF ListView GridViwe GridView 绑定到 ViewModel 中的列表 要求是用户应该能够选择网格视图的多行 右键单击它并看到上下文菜单 将这些行组合在一起 选择后 所有这些项目
  • 如何在wpf中翻转图像

    我最近学习了如何使用 TransformedBitmap 和 RotateTransformed 类旋转 BitmapImage 现在我可以对图像进行顺时针旋转 但如何翻转图像呢 我找不到执行 BitmapImage 水平和垂直翻转的类 请
  • WPF控件默认大小

    为 wpf 应用程序定义自定义资源主题时 我可以设置宽度 高度等 如何找到这些属性的默认值 即框架中提供的控件中使用的值 WPF 控件通常不包含任何类型的默认大小 WPF 的主要功能点之一是 除非您指定大小 否则所有内容都会动态调整大小 如
  • 如何以编程方式调用应用程序菜单?

    我有自定义样式的非矩形透明窗口
  • 解释 System.Diagnostics.CodeAnalysis.SuppressMessage

    我在某些应用程序中有这种代码 来自微软 assembly System Diagnostics CodeAnalysis SuppressMessage Microsoft Naming CA1702 CompoundWordsShould
  • 阻止 WPF 文本框增长

    我花了两个小时研究如何避免在输入长文本时我的 WPF TextBox 控件变长 但我无法做到这一点 即使我读过一些关于它的答案 如下所示 停止 wpf textbox from grow with text https stackoverf
  • 将 BitmapImage 从 Resources.resx 分配给 Image.Source?

    我想分配一个BitmapImage从我的 Resources resx 到Image 之前我将 png 图像保存到 Resources resx 中 该图像现在位于 Resources logo png 中 在阅读了几篇 SO 帖子和其他文
  • WPF:如何避免图像超出 Canvas 的边界?

    我有一个画布作为图像查看器 它的背景用于放置图像 我想在其上面放置另一个图像 所以 场景是这样的
  • 列表框未使用绑定填充

    我正在尝试使用 mvvm 模式将现有程序转换为 c wpf 第一部分是选择要处理的文件的文件夹位置并填充列表框 我在这里找到了一个使用 Mvvm Light 的示例 WPF OpenFileDialog 与 MVVM 模式 https st
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • WPFToolkit.Extended - 工具在哪里?

    我已采取的步骤 我正在使用 NET 4 0 我得codeplex http wpftoolkit codeplex com releases view 84227并下载了第一个 扩展 WPF 工具包二进制文件 2 号将此文件 Extende
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 用于打印的真实尺寸 WPF 控件

    我目前正在开发一个应用程序 用户可以在画布上动态创建 移动 TextBlock 一旦他们将文本块放置在他们想要的位置 他们就可以按下打印按钮 这将导致 ZPL 打印机打印当前显示在屏幕上的内容 ZPL 命令是通过从每个 TextBlock

随机推荐

  • Typescript:如何基于数据结构生成和打印 AST

    我正在开始一个新项目 作为其界面的一部分 我们有一大堆 令牌 一个带有字符串值的递归对象 如下所示 const colors accent f90 primary active fff inactive silver 我们提供了一个实用程序
  • 使用 Eclipse AST

    我最近需要修改一些Java代码 添加方法 更改某些字段的签名和删除方法 我认为所有这些都可以通过使用Eclipse SDK的AST来完成 我从一些研究中知道如何解析源文件 但我不知道如何执行上述操作 有谁知道一个好的教程或者有人可以给我一个
  • kmean 需要三角不等式吗?

    我想知道对于 kmeans 中使用的距离度量是否需要三角不等式 k 均值是designed for 欧几里得距离 正好满足三角不等式 使用其他距离函数是有风险的 因为它可能会停止收敛 然而原因是not三角不等式 但是平均值可能不会最小化距离
  • Android Listview - 仅当用户停止滚动时将图像加载到项目中

    当用户快速滚动浏览项目时 开始请求图像来填充这些项目似乎是多余的 毕竟 用户滚动速度太快 它们永远不会被及时下载 显示 当用户实际暂停滚动时 是否有任何类型的方法 事件首先触发 尝试使用此代码来检测滚动停止 setOnScrollListe
  • 减少 WAV 声音文件大小,而不损失质量

    我的应用程序需要播放声音文件 我可以使用的唯一跨平台文件格式是 WAVE 我正在使用QSound http doc trolltech com 4 5 qsound html detailsQt 框架 这些声音的文件大小非常大 我想知道是否
  • InteractivePopGestureRecognizer 导致应用程序冻结

    在我的应用程序中 我有不同的控制器 当我将controller1推到导航控制器并滑动到后面时 一切正常 但是 如果我推导航控制器1 然后推入控制器1推控制器2并尝试向后滑动 我会得到一个冻结的应用程序 如果通过后退按钮返回一切正常 我怎样才
  • 如何在 Android Studio 运行时获取构建变体?

    我想在运行时获取构建变体 这是否可能不需要任何额外的配置或代码 查看生成的BuildConfig class public final class BuildConfig public static final boolean DEBUG
  • sqlite3_fts5使用标点符号时出错

    我有一个问题字符串变量 其中包含 我的车在哪里 一词 当我尝试对此运行选择时 它崩溃了 String sql Select from tblHALv2001 WHERE tblHALv2001 MATCH question fts5 附近的
  • plotly.js 中的分类轴顺序

    我有一个plotly js 条形图 我试图使 calcategories 轴的顺序正确 每个类别都有一个条形 但有时它们是绿色的 有时是黄色的 条形图应按从最高到最低的顺序排列 但情节似乎是根据不同的填充对它们进行排序 数据 var dat
  • 不可选择的下拉列表

    有没有什么方法可以让下拉列表中没有任何项目可供选择 所以基本上 我只是想用它作为显示 隐藏列表的一种方式 我不想要任何悬停突出显示 也不希望能够更改所选项目 您能否建议这是否可能 或者如果有人有任何其他想法来实现类似的目标 您能否给我指出一
  • 如何更改用户控件的访问修饰符

    我在 xaml 中创建了一个用户控件 将其命名为 View 在 View xaml cs 中 我将类 View 的访问修饰符更改为内部 internal partial class View ViewBase 更改访问修饰符后 编译器会显示
  • 如何在 linux (RedHat 6) 上检查 java 版本

    I am trying to check what java version I have installed in my linux machine I have tried which java 我得到 usr bin java 但是当
  • XAML - 设置样式后文本未显示在我的文本框中

    因此 我在正在开发的应用程序中设置了文本框的样式 突然间我看不到绑定到文本框的任何文本 我觉得我缺少某种 ContentPresenter 无论如何 这是样式
  • 如何对 kubernetes 中运行的 Inception 服务的部署进行故障排除

    我正在关注使用 TensorFlow Serving 和 Kubernetes 服务 Inception 模型 https tensorflow github io serving serving inception html当我尝试从本地
  • 类型没有成员

    我正在 Swift 游乐场上玩一个新课程 由于某种原因 我不断收到错误 该类 没有成员类型 其名称是前面三行定义的常量 这是代码 import Foundation class DataModel let myCalendar NSCale
  • 如何按名称或类型查找 WPF 控件?

    我需要在 WPF 控件层次结构中搜索与给定名称或类型匹配的控件 我怎样才能做到这一点 我将 John Myczek 使用的模板格式与上面的 Tri Q 算法结合起来 创建了一个可用于任何父级的 findChild 算法 请记住 向下递归搜索
  • 如何创建每行库存的二进制矩阵? (右)

    我有一个由 9 列组成的数据框 其中包含一系列因素 每行可以填充全部 9 列 因为该行包含 9 个 东西 但大多数没有 大多数有 3 4 个 这些列也不具体 就像第 200 项出现在第 1 列和第 3 列中一样 这是同一件事 我想为包含所有
  • 为什么文字字符串 """"""" (七个引号)会出错?[重复]

    这个问题在这里已经有答案了 处理客户的输入我们经常使用strip 方法 如果我们想从某个特定集合中删除开始结束符号 我们只需将其全部放入参数中即可 代码 yes strip 显然给出 yes 字符串作为结果 当我尝试删除集合时 结果取决于该
  • 如何使用 OpenGL 将像素数组直接绘制到屏幕上?

    我想将像素直接写入屏幕 不使用顶点和多边形 我调查了类似问题的各种答案 其中最著名的是here https stackoverflow com questions 10040961 opengl pixel perfect 2d drawi
  • 在列表框中找到控件?