我正在构建一个WPF订单管理应用程序,我遇到了一个我不知道如何处理的情况。
我希望重新绑定每个订单的采购订单请求列表,但我只想在应用程序中看到采购订单请求面板时才这样做(他们双击订单以显示订单请求列表)。我遇到的问题是,采购订单请求是订单列表框的每个列表项中的一个列表框,我无法找到遍历列表项中的控件的方法(我只能迭代实际对象,例如OrderInfo)。
我想做的是
OrderListBox.FindName("PurchaseOrderListBox")一个客户关系管理的例子,其中2个订单显示采购订单请求,1个订单没有显示任何 alt文本http://www.readyflowers.co.uk/images/crm-datatemplate.png
我想要实现的结果 alt文本http://www.readyflowers.co.uk/images/crm-datatemplate-saved.png
发布于 2009-04-23 08:20:10
我不知道我是否理解你的问题..。
但是这感觉就像你试图通过UI层次结构来找到一些东西(ala,WinForms) --这就像在WPF中逆水行舟。会让你累得很快..。
看看关于ViewModel模式的文章。我读过的其中一个是丹·克里维尔写的。基本思想是为UI创建一个模型对象-- UI (数据)绑定到由ViewModel公开的属性。现在,所有与UI相关的逻辑都可以进入ViewModel,它通过propertyChanged通知通知会话状态的任何更改。因此,如果字段更改,ViewModel将被通知。ViewModel更新相关属性并相应刷新UI。
在这种情况下,ViewModel.OrderInfo.Find_PO_with_X(searchCriteria)将帮助您找到正确的对象。如果找到,您会说ViewModel.ShowGreenLight = true和绑定到此属性的UI控件将变为绿色。
HTH
https://stackoverflow.com/questions/780708
复制相似问题