问题标签 [datatemplate]
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.
wpf - 如何使 WPF 数据模板填充列表框的整个宽度?
我ListBox
DataTemplate
在 WPF 中有一个。我希望一件物品紧贴左侧ListBox
,另一件紧贴右侧,但我不知道如何做到这一点。
到目前为止,我有一个Grid
三列,左侧和右侧有内容,中心是一个占位符,其宽度设置为“*”。我哪里错了?
这是代码:
wpf - 如何从 ContentTemplate 绑定到周围的自定义控件?
我有以下用户控制:
这个自定义的 TabItem 定义了一个DependencyProperty
“ShortLabel”来实现一个接口。我想从TabItem
's中绑定到 this 和其他属性DataTemplate
。但是由于奇怪的交互,其中TextBlock
的DataTemplate
被绑定到 的父容器,该容器TabItem
也称为“Self”,但在另一个 Xaml 文件中定义。
问题
为什么绑定在 TabItem.Header 中起作用,但在 TabItem.ContentTemplate 中不起作用,我应该如何继续从 DataTemplate 中获取用户控件的属性?
我已经尝试过的
TemplateBinding
: 尝试在TabItem
.FindAncestor, AncestorType={x:Type TabItem}
: 找不到TabItem
父母。MyTabItem
当我指定类型时,这也不起作用。ElementName=Self
: 尝试绑定到错误范围内具有该名称的控件(父容器,而不是TabItem
)。我认为这给出了一个提示,为什么这不起作用:DataTemplate 不是在 XAML 中定义的位置创建的,而是显然是由父容器创建的。
我假设我可以替换整个ControlTemplate
来实现我正在寻找的效果,但是由于我想保留默认外观TabItem
而不必维护整体ControlTemplate
,所以我非常不愿意这样做。
编辑
同时我发现问题是:如果包含s,则TabControl
s 不能有(任何)ItemsTemplate
(包括) 。MSDN 论坛上有一个帖子解释了原因。DisplayMemberPath
ItemsSource
Visual
由于这似乎是 WPF 的 TabControl 的一个基本问题,所以我要结束这个问题。感谢你的帮助!
c# - 如何在 C# 代码中构建 DataTemplate?
我正在尝试为 winform 互操作构建一个下拉列表,并且我正在代码中创建下拉列表。但是,我在根据我指定的 DataTemplate 获取要绑定的数据时遇到问题。
我错过了什么?
wpf - WPF ListBox 绑定到项目的索引
将某些内容绑定到 ListBox 的 SelectedIndex 很容易,但我希望 ListBox 中的每个项目都能够绑定到它在列表中的索引。
可能听起来很奇怪,所以这就是我想要做的:
我想将超链接的 TAG 属性绑定到相关项目的索引。这样当用户单击超链接时,我可以使用该超链接的 TAG 属性确定是什么项目导致了事件。
建议?
silverlight - Silverlight 的 DataTemplate 中缺少 FindName 方法是否有解决方法?
根据 C# 编译器和 Silverlight 2 文档,Silverlight 没有为 DataTemplate 类提供 FindName 方法。我想在 ContentPresenter 中找到一个边框。SilverLight 2 中最好的方法是什么?
c# - 运行时切换数据模板——刷新问题
我使用 MVVM 架构来解耦我的应用程序。也就是说,你经常看到类似的东西
UI 是通过驻留在其自己的 XAML 文件中的资源字典中的数据模板定义的
我在应用程序启动时加载资源,应用程序很乐意显示我的 UI。但是如果我删除一个数据模板并添加一个新的(相同的键,相同的数据类型),UI 仍然使用旧的数据模板。当然,我可以重新设置容器的内容以强制刷新,但这似乎很愚蠢,因为我必须通知每个控件有关更改,就像这样
还有其他方法吗?
wpf - 关注 DataTemplate 中的文本框
我已经DataTemplate
包含一个TextBox
. 我将此模板设置为选择中的列表框项目。
我无法将焦点设置到模板中的文本框。我尝试调用 MyTemplate.FindName,但它以无效操作异常结束:此操作仅对应用了此模板的元素有效。
我怎样才能访问它?
wpf - 应用程序在更改包含带有 ItemTemplates 的 ListBoxes 的选项卡时崩溃
我有一个带有两个 TabItems 的 WPF TabControl。每个 TabItem 都包含一个 ListBox,其中一个单独的 ObservableCollection 作为其 ItemsSource。每个 ListBox 都有不同的 ItemTemplate。
无论我设置在启动时选择哪个 TabItem,该选项卡都会正常显示,但是当我单击另一个选项卡时,应用程序崩溃,并出现“调用目标引发异常”错误,指向 DataTemplate我要切换到的选项卡。
如果我从选项卡上的 ListBox 中删除 ItemTemplate,我试图切换到(并使用 DisplayMemberPath)一切正常。
但是,如果我使用 DataTemplate,无论是内联还是作为静态资源或动态资源,都会导致选项卡切换时崩溃。
有任何想法吗?伪代码如下:
公共 Window1() { InitializeComponent();
}
c# - WPF 中的 ComboBox 模板问题
我有一个带有 ComboBox 的 DataTemplate 的列表视图。我希望 ComboBox 看起来像标签一样平坦,直到用户真正想要更改值。我之前有下面的例子,但我改变了一些东西,现在它不再工作了,我不知道为什么。
IsMouseOver 属性似乎无法正常工作,因为它仅在鼠标位于控件边界时才设置。
我该怎么做才能使这项工作正常进行?
这是一个片段:
wpf - 如何从数据绑定的 ItemsControl 中获取模板化项目的实例?(WPF)
我有一个<ItemsControl>
带有自定义的<DataTemplate>
(还有一个<ItemsPanelTemplate>
只是 a的自定义WrapPanel
),通过绑定ItemsSource
到一个简单的可观察字符串集合。
DataTemplate
仅包含一个自定义实例,其UserControl
属性通过 绑定到字符串{Binding}
。
问题是因为我的数据项只是字符串,我需要UserControl
直接以编程方式访问我的实例,但我似乎无法弄清楚如何!
我试过了:
...但这只是返回字符串。还:
...返回 a ContentPresenter
,我不知道如何处理ContentPresenter
以获取 my 的实例UserControl
。
??
这类似于这个问题,但它从未得到正确回答,并且也是 Silverlight 特有的,而这是 WPF。