2009-04-23 82 views
1

我正在构建一个WPF订单管理器应用程序,并且遇到了不知该如何处理的情况。列表框的DataTemplate中的WPF访问控件

我想重新绑定每个订单的采购订单请求列表,但我只想要这样做,如果在应用程序中显示采购订单请求面板(他们双击该订单以显示采购清单订单请求)。我遇到的问题是,订单请求是订单列表框中每个列表项内的列表框,我无法找到一种方法来遍历列表项中的控件(我只能遍历实际对象,例如OrderInfo)。

我想什么做的是

OrderListBox.FindName("PurchaseOrderListBox") 

2个订单显示采购订单请求,1,为了不显示任何 alt text http://www.readyflowers.co.uk/images/crm-datatemplate.png

我想结果了CRM的一个例子实现 alt text http://www.readyflowers.co.uk/images/crm-datatemplate-saved.png

回答

1

我不知道我明白你的问题....

但它感觉就像你试图通过UI层次来破解找到一些东西(ala WinForms) - 这就像在WPF中逆潮流游泳一样。它会让你累得真快..

在ViewModel模式中寻找文章。其中一个我读到的是Dan Crevier。基本思想是为UI提供一个Model对象 - UI(数据)绑定到由ViewModel公开的属性。现在,您的所有UI相关逻辑都可以进入ViewModel,ViewModel会通过propertyChanged通知会话状态的任何更改通知。所以如果一个字段改变,ViewModel会得到通知。 ViewModel更新相关属性并相应刷新UI。

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

HTH