问题标签 [datatemplateselector]
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.
xaml - UWP ListView,第一个和最后一个项目的不同项目模板
我试图构建 DataTemplateSelector 为我的 ListView 第一个和最后一个项目选择不同的项目模板。
在我的 DataTemplateSelector 中,我尝试查找父 ListView 并基于该检查项索引并选择正确的数据模板。
问题是我无法在 SelectTemplateCore() DependencyObject 容器对象的父级中获取父级 ListView 为空。
我应该如何根据项目位置选择不同的模板?
我的数据模板选择器:
xaml 中的列表视图:
wpf - 使用 DataTemplateSelector 覆盖项目样式模板
我在 ListViewItem 上有一个设置 Theme 属性的 Style
但是,在我使用 ListView 的一种情况下,我想使用 DataTemplateSelector 来确定要使用的模板
它是这样应用的
但是,似乎项目上的样式会接管,并且该样式将应用于 ListView 中的所有项目。我发现这个问题有一个类似的问题,但是,该解决方案根本不使用 Item 样式上的模板。我需要保持这一点。
我通过在 ListView 中重新设置 ListViewItems 的样式来使用 ContentTemplateSelector
但是,将使用其他样式的模板。如果我尝试使模板无效,那么什么都不会出现!
有没有办法可以替换给定 ListView 的 ListViewItems 上的模板,同时保留我的其余样式?
xaml - UWP - GridView:如何在最后一项之后添加“添加”按钮?
我使用 GridView 来显示照片,并搜索一种优雅的方式来允许用户向表单添加新项目。
- 表单包含很多字段:它显示在一个 Pivot 中,其中每个 PivotItem 代表表单的一个类别。
- 某些类别包含一个或多个子项:它们通过主从页面显示。
在这个页面中,我需要显示照片列表:由于照片代表表单的“子子项”,因此我不会通过 CommandBar 管理添加新照片。但我想在包含照片的 GridView 的最后一项之后使用“添加”按钮。
这是 XAML:
当我使用 StackPanel 时,如果我显示 3 张照片,则添加按钮不再可见......
=> 有没有更好的方法来做到这一点?还是您看到了替代方案?我正在寻找通过 DataTemplateSelector 执行此操作,但这需要我创建一个“假”对象来显示添加按钮...
xamarin - 如果我使用 DataTemplateSelector,在哪里设置自定义单元格与客户渲染器的绑定?
我有一个 DataTemplateSelector 在两个不同的单元格之间进行选择。在 Android 上,此模板选择定义为 Android xml 文件的单元格。我可以确认模板选择器正在工作,因为我显示了两个不同的色环,并且颜色正确。但是我的数据没有被绑定,我不知道为什么。我想我没有在某处设置绑定,但我不确定在哪里/如何做到这一点。
这是我的页面,其中包含带有 DataTemplateSelector 的 ListView。我在此处设置了 ItemsSource,但我从未为列表项的不同部分设置绑定。那是我不知道该怎么办的地方。
代码隐藏:
数据模板选择器
以及我的一个自定义 ViewCell 的示例。我认为这是我错的地方,但我不知道为什么。我制作了属性,但我不知道如何正确设置它们。
谢谢您的帮助 :)
data-binding - 如何从数据模板中的图像列表中绑定图像?
我创建了一个模板选择器,我正在使用 ffimage 来缓存图像。绑定到 listView 的模型有一个我需要绑定到图像源的图像 url 列表。我将图像绑定为
有时这可行,有时错误作为 TargetInvocationException 出现,我无法找出这个异常发生在哪里,但是当我删除绑定时,错误就消失了。
c# - 如何使网格在 DataTemplateSelector 中可见
我有一个包含 2 个网格的 ItemsControl 的 DataTemplate。第二个网格是折叠的,当我单击 ItemsControl 中的一个项目时,我想让它可见。
这是 XAML:
这是 ceControl 是 DataTemplateSelector 和 MagazineSlotTemplate 是使用上述模板中的静态资源的 DataTemplate 背后的代码。
我可以在后面的代码中看到第二个网格,但是当我将可见性设置为可见时变得可见但属性 IsVisisble 为假,因此我看不到网格
wpf - 对两个 DataGridTemplateColumns 中同一对象的两个不同属性使用相同的 DataTemplate
我在资源中有两个数据模板和一个 DataTemplateSelector 可供选择:
这是选择器的代码隐藏:
只要我将 MyTemplateSelector 用于一个 DataColumn(例如 Name1),它就可以正常工作。但我的 DataGrid 有两个模板列要绑定到两个字符串字段:Name1 和 Name2
我的问题是:如何在绑定中设置正确的路径(名称 1 或名称 2)(而不是名称 1 或名称 2,见上文)。谢谢你。
wpf - 没有代码隐藏的 DataTemplateSelector
是否可以以DataTemplateSelector
仅 XAML 的方式使用,即没有代码隐藏?
c# - 当 DataTemplate 从 DataTemplateSelector 显式返回时,为什么 DataTemplate 不能绑定到接口?
我创建了一个 DataTemplateSelector,它使用一组已知接口进行了初始化。如果传入选择器的项目实现了这些接口之一,则返回关联的数据模板。
首先,这是有问题的 ICategory 接口......
这是基于基类或接口匹配的 DataTemplateSelector,而不仅仅是特定的具体类...
以下是它在资源中的设置方式以及相应的 HierarchicalDataTemplate 与 DataType = ICategory ...
最后,这是一个使用它的 TreeView...
我已经对其进行了调试,并且可以确认正确的数据模板正按预期返回到 TreeView,这既是单步执行代码,也是因为TreeView 正在按照 HierarchicalDataTemplate 上的 ItemSource 绑定正确加载子类别。所有这些都按预期工作。
不起作用的是模板本身的内容。如您所见,模板只是应该显示类别的名称,但它只是呈现对象原始,就好像它直接放置在没有任何模板的 ContentPresenter 中一样。您在 UI 中看到的只是 ToString 的结果。模板的内容被完全忽略。
我唯一能想到的是它不起作用,因为我正在使用 DataType 的接口,但同样,儿童 ItemsSource 的绑定确实有效,所以我有点难过。
注意:作为测试,我根据具体类型(即类别而不仅仅是 ICategory)创建了第二个 DataTemplate,当我这样做时,它按预期工作。问题是具体类型位于 UI 不应引用的程序集中。这就是我们首先使用接口的全部原因。
*注意:我还尝试通过使用 Key 而不是设置 DataType 属性来更改查找模板的方式。在那种情况下,就像之前一样,选择器仍然会找到相同的资源,但它仍然不起作用!
然而具有讽刺意味的是,如果我使用相同的键直接通过 StaticResource 绑定设置 TreeView 的 ItemTemplate,那么它确实有效,这意味着它仅在我从选择器返回模板时不起作用,并且与是否DataType 无关设置与否。*
xamarin.ios - Xamarin 使用 DataTemplate 形成 UICollectionView
我正在尝试在 Xamarin Forms 中创建一个自定义视图,该视图转换为 IOS 中的 UICollectionView。
这第一件事做起来相当简单:
看法:
渲染器:
现在我想为这个 CollectionView 提供 DataTemplates(来自 DataTemplateSelector)。但我找不到注册课程的方法:
您可以从模板中执行以下操作:
获取 UI 元素。
但是我怎样才能在collectionView中注册它以便在CollectionSource中出列
例如: