问题标签 [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.

0 投票
2 回答
567 浏览

wpf - 数据模板选择器和 Windows 8

我有一个很奇怪的问题。我已经使用 wpf、telerik(office2007 主题)编写了应用程序。我使用 DataTemplateSelector 为不同类型的模型动态创建视图。在 Windows 7 中,一切都很好,但在 Windows 8 中 DataTemplateSelector 不起作用!怎么回事?你能帮我解决我的问题吗?

0 投票
2 回答
162 浏览

c# - DataTemplateSelector 获取 typeof 传递的对象

我有一个名为“item”的对象,女巫从 XAML 传递给方法

这是我在断点上得到的:

base {System.Reflection.TypeInfo} = Name = "Country" Full/Name = "Playground.Domain.Country"}

我正在尝试查找如何找到哪个“类型”是项目

但没有运气。

从中object item获取数据

有什么建议么?

0 投票
3 回答
3960 浏览

c# - LongListSelector 和 DataTemplateSelector

我正在使用 LongListSelector 为我的项目实现列表或网格显示。为此,我创建了一个 DataTemplateSelector 并在运行时更改了 LayoutMode 属性。这是有效的,但 DataTemplateSelector 似乎存在问题。如果我最初启动页面,DataTemplateSelector 会为我的三个项目调用三次。当我导航到另一个页面(设置页面以更改 LayoutMode)然后返回时,DataTemplateSelector 仅称为两个项目,但仍有三个项目。

数据模板选择器:

ItemViewModeTemplateSelector:

MainPage.xaml:

这是我最初启动页面时的显示:

然后我导航到另一个页面,然后返回:

编辑:我为此问题准备了一个示例项目。它应该可以毫无问题地运行。

项目:http ://sdrv.ms/1cAbVxE

0 投票
1 回答
1476 浏览

c# - XAML ContentControl 数据绑定不起作用

我对 DataTemplates en ContentControl 有疑问。我的情况非常具体。

XAML 页面:

我使用 ItemTemplateSelector 来指定它将是哪种类型的问题。QuestionType 在 PossibleAnswer 对象中定义。我的 ItemTemplateSelector 看起来像这样:

通过这种方式,我可以指定需要在我的页面上显示的数据模板。我目前正在处理免费问题,所以我现在专门讨论一个模板。我的 xaml 上的模板如下所示:

为了让事情更清楚一点:QuestionType 和 PossibleAnswerType 之间是有区别的。QuestionType 可以是:

免费的 SINGLE_SELECT MULTI_SELECT 下拉表

可能的答案类型可以是:

LABEL TEXT_AREA TEXT_FIELD 日期滑块

我尝试在 FreeQuestionTemplate 中获取我的 PossibleAnswer 的 PossibleAnswerType。我正在使用 ContentControl 来执行此操作,但我的 PossibleAnswer 的绑定似乎不起作用。

在我的 AnswerTypeItemTemplateSelector 中,项目对象始终为空。有人给我一些关于如何做到这一点的建议吗?

亲切的问候!

0 投票
1 回答
335 浏览

c# - 在代码隐藏中创建 DataTemplate 失败

我正在尝试DataTemplate在我的代码中创建一个,我遇到了这个 asnwer

所以我只是复制并编辑了代码,但它失败了这个异常:

System.Windows.ni.dll 中的第一次机会异常“System.Windows.Markup.XamlParseException”未知解析器错误:扫描仪 2147500037。[行:4 位置:36]

这是生成的 XAML 代码:

这是我目前在我的页面中使用的 XAML 代码(这个正在工作):

要生成 XAML,我正在使用此 C# 代码:

它出什么问题了?异常的消息不是那么有用:(

0 投票
0 回答
142 浏览

visual-studio - 用于项控件的 DataTemplateSelector 的 XAML 部分

我正在使用 MVVM 模型来创建应用程序。在这个应用程序中,我希望创建一些看起来不同但使用相同视图模型的弹出窗口。那就是我希望创建一个可观察的视图模型集合,然后在不同的视图上使用它们,所以它们将使用视图模型中的相同逻辑,但数据的值不同。到目前为止,我正在使用 DataTemplateSelector,并且在后面创建了一些代码,但是当我必须将 xaml 部分实现到我的 itemscontrol 中以选择 dataTemplate 时,我有点迷失了。因此,如果有人可以提供帮助,将不胜感激。

到目前为止,我一直关注这篇文章。

0 投票
1 回答
508 浏览

c# - WinRT:如何在 ContentControl 的 DataTemplateSelector 中访问父项的 ItemsSource

我需要使用 XAML/C# 为我的 WindowsStoreApp 提供帮助。

让我们从对我的问题的一个非常简短的解释开始,如果还不够清楚,那么您会在下面找到非常详细的信息:)

简而言之:我有ContentControl一个GridView. 将集合设置GridViewItemsSource集合。在我的ContentControl我想使用自制的DataTemplateSelector。在它的SelectTemplateCore- 方法中,我需要访问GridView's的项目ItemsSource- 我如何在 WinRT 中做到这一点?

详细地:

我想显示用户系统的文件夹,如图片库、连接的 USB 设备等。不同类型的文件夹会有不同的图标。我有一些图标作为 XAML 路径数据,还有一些作为图像文件。这些文件夹存储在一个集合中。此集合(名为“Ordner”)存储在页面的视图模型中。每个文件夹都有一个指定其类型的属性(基于枚举)。首先,我使用自定义DataTemplateSelector来检查文件夹的类型是否可以通过图像或路径显示。它完美地工作。

代码在这里......我有一个这样的页面:

如果文件夹的图标基于路径,则调用 a中DataTemplate名为“PathquelleDataTemplate” ResourceDictionary。除了其他UIDataTemplate元素之外,我的ContentControl. 在这里,我想使用另一个自定义DataTemplateSelector再次检查文件夹的类型并选择一个相应的DataTemplate,然后包含正确的路径和它的数据。但我当然不能只item在覆盖的SelectTemplateCore(item, container). 没有DataContext任何itemis null。我如何引用ItemsSource我的(父母-父母-)父母GridView?我完全没有指定DataContext. 我找到的每一条帮助都基于 WPF,似乎在 WinRT 中不起作用。还是有一种完全不同但更适合的方式来访问收藏?

这是 DataTemplate “PathquelleDataTemplate”(在 ResourceDictionary 中)。

这里只是作为示例 DataTemplateSelector 将选择的 DataTemplate 之一:

提前感谢您的帮助和抱歉,如果我的英语有时听起来有点奇怪:)

0 投票
1 回答
664 浏览

c# - 更改 ContentPresenter 的 DataTemplate

我有一个弹出窗口,我想根据单击的各种按钮显示不同的内容。为此,我在这个 ContentPresenter 中添加了一个 ContentPresenter,我有一个 TemplateSelector。我的问题是,据我所见,它只检查第一次运行我的 popUp 时使用哪个模板,并从那时起使用该模板。有没有办法让代码更改要使用的模板?

到目前为止我得到的代码是(xaml):

我的 popUpTemplateSelector(C#) 是

0 投票
1 回答
355 浏览

windows-phone-8 - 如何在 Windows Phone 中为 ItemsControl 创建动态枢轴项?

使用动态透视项创建透视控件,在透视数据模板中必须显示项目控件,该控件也将具有数据模板..如下所示

这是我的数据模板。

0 投票
2 回答
83 浏览

c# - 在 Visual Studio 中实现“参数视图”的最佳方法 - TemplateSelector 还是什么?

我正在构建一个工具,并希望有一个带有参数的列表视图。

我有一个名为 Parameter 的基类和许多不同的派生类,例如:ParameterAddress、ParameterBool、ParameterString、ParameterScreen,...

每个参数看起来有点不同..

ParameterBool:标签+复选框

参数字符串:标签+文本框

参数地址:标签+文本框+按钮(用于新对话框)

...

我在第一次尝试使用 DataTemplateSelector 时就做到了这一点。

很好,工作“很好”..

在我的窗口中,我实现了文本更改、单击按钮等事件。

但现在我也想在另一个窗口中使用这个参数视图并且不想复制相同的文本更改,再次在每个窗口中单击按钮事件..

所以我的第二次尝试是将它构建到我的参数类中。

每个 Parameter 类都有一个 Stackpanel,每个派生类都将其控件添加到其中,因此可以在一个地方处理任何事件!

但现在在我的列表视图中只出现文本 "....Stackpanel" 。

我认为方式 1 是一个更好的方向,方式 2 无论如何都可以工作..

但是什么是“最好的”方式?

编辑

这是我的实际数据模板:

在我看来它非常无法使用..

您必须维护如此多的代码和平才能工作..

  1. 创建一个新模板

  2. 放入datatemplate资源

  3. 不要忘记将它放入 datatemplateselector 类

直接在我的课堂上拥有我的“控件”,我只有这一种代码和平..?!