问题标签 [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 投票
1 回答
128 浏览

c# - 为 Windows Phone 8 C# 上列表框中的特定项目更新 DataTemplate

我无法在运行时更新列表中单个项目的 DataTemplate。详细地说,这是我想要完成的。

我有一个列表框,其中的项目可以有不同的状态(折叠、展开、禁用等),每个都有不同的布局。我正在使用 TemplateSelector 根据我班级的属性选择正确的 DataTemplate ,当我第一次创建列表时效果很好,项目显示正确。但是,当我在运行时更改设置 DataTemplate 的属性时,会调用 NotifyPropertyChanged 并更新列表中的项目信息,但不会更新 DataTemplate。例如:我有一个带有标签 X 的折叠项目,我想展开它。我单击该项目,标签更改为 Y,但 DataTemplate 没有更新。

关于我如何做到这一点的任何想法?除非针对整个列表,否则不能在运行时更新 DataTemplate 吗?

我会很感激任何帮助。

0 投票
1 回答
7802 浏览

c# - WPF DataGrid CellTemplateSelector 项

我有一个绑定到一组虚拟机的网格。当DataTemplateSelectorDataGridTemplateColumn将整个虚拟机用作数据项时,如何将其缩小到特定的属性值(否则我必须为每个虚拟机创建“DataTemplateSelector”或使用接口,两者都太麻烦了)?

Saw将属性绑定到 DataTemplateSelector,但它看起来像一个讨厌的解决方法。

0 投票
0 回答
297 浏览

data-binding - 如何在 Windows Phone 8.1 的 DataTemplateSelector 中获取父 DataContext

我在 Window Phone 8.1 应用程序中使用 DataTemplateSelector,并希望为我的 ContentControl 的父 DataContext 添加特定的 DataTemplate。但在 SelectTemplateCore 中 container.Parent 始终为空。你能帮我找到想要的解决方案吗?

EmptyDataTemplateSelector 用于网格内的简单 ContentControl。

0 投票
1 回答
411 浏览

c# - DataTempleSelector 未调用 SelectTemplate

我一直在尝试为我的 WPF 列表框获取一个简单的 DataTempleSelector,但我没有任何运气。我在 SelectTemplate 处设置了一个断点,它永远不会被调用。知道我在这里做错了什么吗?

C#:

XAML:

0 投票
1 回答
8117 浏览

c# - WPF 中的数据模板选择器

我想在具有不同绑定和控件的两个视图之间切换。我可以使用 DataTemplateSelector 做到这一点吗?

0 投票
1 回答
1156 浏览

c# - 未使用 DataTemplateSelector 更新绑定

我有一个基于 MVVM 的 WPF 应用程序。它有可以设置的参数。参数可以是复选框中的字符串列表或 numupdown 中的双精度。每个设备都有自己的参数,因此这些参数是动态加载的。这就是我使用 DataTemplateSelector 的原因。

Xaml 代码

模板位于资源字典中:

我为 DataTemplateSelector 编写了代码。

当应用程序打开时,所有值都设置得很好。但是当我更新 ParameterValue 时,它​​不会在视图中更新。(当我在控制台窗口中输出值时,这些值设置得很好(但不是在 GUI 中))。

我应该怎么做才能使这项工作。

编辑

这是它绑定的代码。每个功能都有一个复选框,当您更改一个参数时,所有其他选中的参数都需要更改。

布尔值 SetOthers 是这样他就不会得到堆栈溢出并继续设置自己。

0 投票
1 回答
49 浏览

c# - 如何为两个实体使用一个表单

如何为两个实体使用一个表单?样本:

使用相同的形式:

第三个字段是基于更改的实体。Age (int)或者Contact (string)

是否可以使用 DataTemplateSelectorTrigger其他方法来做到这一点?

0 投票
1 回答
2773 浏览

wpf - 将父视图 DataContext 绑定到 DataTemplate 子视图 DataContext

最近我一直在试验 WPF、Xaml、MVVM 和 DependencyInjection。因此,我正在使用 MVVM 原则创建一个 UI。UI 的某个部分被设计为像向导一样工作,其中并非所有可用选项同时呈现给用户。每个选项部分都是其自己的视图(子视图),其中一个视图(父视图)在 ContentControl 中托管这些子视图。用户设置某些选项并使用按钮从一个部分移动到另一部分。

查看导航

为了在这些视图之间切换,我使用了一个 DataTemplateSelector,每个子视图在我的 Xaml 资源中定义为一个 DataTemplate。

主视图中的内容控制:

示例子视图数据模板:

在父视图和每个子视图上,我创建了一个名为 ViewState(枚举)的依赖属性。它们通过 DataTemplates 相互绑定。在每个视图的代码隐藏中,我根据用户输入更新此 ViewState 属性,并将其传播到父视图,父视图进而触发 DataTemplateSelector。到现在为止还挺好。导航效果很好。

查看模型信息

父视图有一个 ViewModel,它实现了 INotifyPropertyChanged 作为它的 DataContext。我正在尝试使用这个单一的 ViewModel 将属性绑定到父视图和子视图。问题是上面 DataTemplate 片段中的 DataContext 绑定不起作用。(这对我来说很奇怪,因为 ViewState 绑定确实如此。)在多次尝试使其工作之后,子视图上的 DataContext 要么为空,要么为 ViewState 控制变量。

我目前使用 UnityContainer 作为我的依赖注入器。

各种尝试

以下是我尝试过的其他各种失败的事情:

1) 在 UnityContainer 中将 ViewModel 注册为单例,从而在子视图上使用构造函数注入来设置 DataContext。(不起作用,因为 DataTemplate 资源必须有一个无参数构造函数。)

2)在UnityContainer中将ViewModel注册为单例,然后在子View上使用Property Injection来设置DataContext。(不起作用。我认为这是由于在 Xaml 中实例化对象时 UnityContainer 不起作用。)

3) 为每个需要 ViewModel 的子 View 创建子 ViewModel,以显示父 ViewModel 上存在的属性。我以前用它来解决 UnityContainer 的 Xaml 实例化问题。然后,我将 DataTemplate 中的 DataContext 绑定替换为关联的子 ViewModel。(不起作用,因为由于某种原因,我的父视图的 DataContext 被设置为 ViewState 变量,而不是保留我在视图的构造函数中设置的 ViewModel。这反过来意味着我的父 ViewModel 上的子 ViewModel 属性可以'找不到绑定到子View的DataContext。)UserControls的Content和DataContext是一回事吗?设置一个会影响另一个吗?

4) 将 ViewState 依赖属性从 View 移动到 ViewModel,然后设置 ContentControl 的 Content 以绑定到 ViewModel。这违反了 MVVM 原则,但此时我正在尝试任何方法来使其正常工作。(它不起作用,因为当 ViewState 在视图的代码隐藏中发生更改时,ViewModel 不会因为更改而触发。)我没有进一步处理这个问题,因为我不想更深入地违反 MVVM。

结论

在过去的几天里,我在这个网站上找到了大多数这些尝试的解决方案。我没有在 WPF、Xaml 和 MVVM 方面接受过任何正式培训,所以我怀疑我遗漏了一些明显的东西,或者正在尝试做一些不可能的事情。我将继续尝试上述变化并进行研究,直到找到可行的方法,但我想我会利用这里的集体知识来帮助我找到解决方案。

我更喜欢让视图组使用单个 ViewModel 作为它们的 DataContext,这样我就可以将属性绑定到它们的控件。并让视图的导航由 DataTemplateSelector 控制。有没有办法做到这一点,我没有看到?

感谢您的时间!

0 投票
1 回答
418 浏览

wpf - XAML 设计器中 DataTemplateSelector 的类型初始化失败

我在我的 WPF 应用程序中使用 DataTemplateSelector。在运行时它运行良好,但在使用 XAML 编辑器时会引发异常并且不显示预览。

在此处输入图像描述

我的选择器如下所示:

如果尝试在我的选择器中使用 DesignerProperties.IsInDesignTool 标志但没有成功...

}

0 投票
2 回答
992 浏览

c# - 在用户控件 WPF 中使用数据模板选择器时引发空引用异常

嗨,我遇到了一个问题,即在我的 xaml 中为使用数据模板选择器的用户控件引发了一个空引用异常,老实说,我不确定为什么。这是下面的代码,任何帮助将不胜感激。

更新它只发生在设计时而不是运行时

数据模板选择器代码:

Xaml(我已经折叠了不同的 DataTemplates 代码,因为 xaml 文件很大)

堆栈跟踪: