1

我正在构建一个 WPF 订单管理器应用程序,但我遇到了不知道如何处理的情况。

我想重新绑定每个订单的采购订单请求列表,但我只想在应用程序中显示采购订单请求面板时执行此操作(他们双击订单以显示采购订单请求列表)。我遇到的问题是采购订单请求是订单列表框的每个列表项内的列表框,我找不到遍历列表项中的控件的方法(我只能遍历实际对象,例如 OrderInfo)。

我想做的是

OrderListBox.FindName("PurchaseOrderListBox")

crm 示例,其中 2 个订单显示采购订单请求,1 个订单不显示任何 替代文本 http://www.readyflowers.co.uk/images/crm-datatemplate.png

结果我想实现 替代文本 http://www.readyflowers.co.uk/images/crm-datatemplate-saved.png

4

1 回答 1

1

我不确定我是否理解你的问题......

但感觉就像您正试图通过 UI 层次结构来寻找某些东西(ala WinForms)——这就像在 WPF 中逆流而上。它会让你很快疲倦..

查看有关 ViewModel 模式的文章。我读过的其中一本是Dan Crevier的。基本思想是为 UI 提供一个 Model 对象 - UI(数据)绑定到 ViewModel 公开的属性。现在所有与 UI 相关的逻辑都可以进入 ViewModel,它会通过 propertyChanged 通知会话状态的任何变化。因此,如果某个字段发生更改,ViewModel 会收到通知。ViewModel 会更新相关属性,并且 UI 也会相应地刷新。

在这种情况下ViewModel.OrderInfo.Find_PO_with_X(searchCriteria),将帮助您找到正确的对象。如果找到,您说ViewModel.ShowGreenLight = true绑定到此属性的 UI 控件将变为绿色。

高温高压

于 2009-04-23T08:20:10.880 回答