- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<ListBox ItemsSource="{Binding Path=Commands}" DisplayMemberPath="Name"/>
DisplayMemberPath
不起作用,ListBox 显示 Commands
集合成员的默认 ToString
结果。是否可以调试它,例如,通过将一些信息打印到“输出”窗口?
Visual Studio 2010,WPF 应用程序项目。绑定(bind)成功,我看到了 Commands
集合的所有成员。但是显示不对。
附加信息。如果我将 Path=Commands
更改为不存在的 Path=Commands1
,我会在“输出”窗口中看到错误消息。但是DisplayMemberPath
中没有任何关于错误的信息。
最佳答案
我在 WPF 中遇到的调试绑定(bind)错误的更清晰/更清晰的方法之一通常是链接(但使用旧的、损坏的链接),目前可以在这里找到:http://www.zagstudio.com/blog/486#.UhyT8fNwbs0
具体来说,该方法使用 .Net 3.5 中引入的调试功能,使用附加属性 PresentationTraceSources.TraceLevel
并允许您指定特定的跟踪级别来调查您的绑定(bind)问题。
总结一下:
您添加以下命名空间:
<Window
<!-- Window Code -->
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
/>
然后在您的绑定(bind)表达式中,设置附加属性。在我的示例中,我使用了具有 Name
属性的 Cars
对象列表,并且错误地将 DisplayMemberPath
列为 Names
:
<ListBox ItemsSource="{Binding Path=Cars, diagnostics:PresentationTraceSources.TraceLevel=High}" DisplayMemberPath="Names" />
这会在“输出”窗口中产生以下消息(出现多次,每次失败绑定(bind)一次):
System.Windows.Data Error: 40 : BindingExpression path error: 'Names' property not found on 'object' ''Car' (HashCode=59988153)'. BindingExpression:Path=Names; DataItem='Car' (HashCode=59988153); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
整个链接值得一读,但这是我成功使用的特定技术的要点(以防链接失效)。
关于wpf - ListBox.DisplayMemberPath 未按预期工作。我该如何调试呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18463781/
我需要创建一个 DisplayMemberPath,它是几个属性的组合(即 object.category.Name+"-> "+object.description)我很确定我可以通过创建一个封装对
我有一个 ListBox (或 ComboBox ,我都试过了)其中项目是通过 ListBoxItem 直接添加的( ComboBoxItem ) 元素。 数据为CultureInfo来自两个 Obj
我正在尝试将两个值绑定(bind)到 ComboBox 显示值,但我不知道该怎么做。 这种方式行不通: cboRegion.DisplayMemberPath = "idregion" + "desc
我在徘徊,是否有人可以向我解释依赖属性 DisplayMemberPath 是如何工作的?我正在尝试创建自定义 ItemsControl,它具有 ComboBox 的 DisplayMemberPat
我有一个 wpf 组合框。它的 ItemsSource 绑定(bind)到 ObservebaleCollection。显示的值(通过 DisplayMemberPath)是 Entity 类的 Na
在我的 ComboBox 中,我看到了 3 次: MyNameSpace.ViewModel.CustomerViewModel ?? 实际上这段代码有效,但现在不知道我改变了什么: 客
我有一个列表框,其 ItemsSource 设置为 Dictionary(Of String, ColumnMetadata)。 ColumnMetadata 是一个结构。通过将 DisplayMem
我有一个包含多个 GridViewColumns(Title、Start、Due)的 ListView。那么我如何绑定(bind)一个带有字符串标题、日期时间开始和日期时间到期的对象。在程序代码中我已
我有一个自定义实体的集合,该集合使用 ItemsSource 属性绑定(bind)到列表选择器。我还将选择模式设置为 Multiple,因此 FullMode 选择器中的每个项目都有一个复选框。这种选
我有一个用户列表,其中包含 Id、UserName、FirstName 和 LastName 等属性。 我如何设置组合框的显示以显示“LastName, FirstName”,以便在组合框上显示为“D
在 WPF 项目中使用 Microsoft Visual Studio。我有一个 ListBox,它的 ItemsSource 被设置为一个名为 LuhFile 的对象列表。 LuhFile 包含一个
我有简单的类(class) public class Person { string Name { get; set; } string Path { get; set; } } 我还
DisplayMemberPath 不起作用,ListBox 显示 Commands 集合成员的默认 ToString 结果。是否可以调试它,例如,通过将一些信息打印到“输出”窗口? Visual
我只想使用 ItemsSource DisplayMemberPath 属性将 CustomerList\CustomerName 属性项显示到 ListBox。但它不起作用。我不想在我的问题中使用
所以我在网站上浏览了几个问题,但似乎找不到答案。 我有一个 ComboBox .它工作得很好。我决定需要大修外观,所以我创建了默认 ComboBox 模板的副本(这是一个直接副本,没有修改):
我正在尝试将列表绑定(bind)到 ComboBox 并使用 displaymemberpath 来显示值。 这是我的 XAML: View 模型: 我的 ViewModel 检索“佣金”列表 pr
我有一个 ComboBox 并且设置了 combo.ItemsSource 属性为 列表目的。 预订 类包含两个属性:“缩写”和“名称”。 我已经设置了 ComboBox 的 显示成员路径 到“ 缩写
我正在与 Wpf DataGrid 作斗争.它的ItemsSource是 DataTable其中由类型细胞组成 Tuple 这是关于如何创建我的 DataTable 的一小段代码.
目前,我已经对应该显示的 DataContext 对象的属性 (DisplayName) 进行了硬编码。但通常您在 ComboBox 本身中使用属性 DisplayMemberPath 指定此路径。如
我将一组对象绑定(bind)到 ComboBox。我想要实现的是一个显示我的对象的两个属性的组合框。但是,我还没有想出如何使组合框显示多个 DisplayMemberPaths。这可能吗? 这就是我目
我是一名优秀的程序员,十分优秀!