2
我在這裏有一個WPF綁定問題。綁定到可觀察子類集
以下設置:
我有有一個名字和子項的的ObservableCollection(還有個叫步驟類)類(ActionService)。一個步驟有一個標誌,顯示該步驟是否已完成(IsDone)。
我將表單綁定到ActionService並顯示所有類型的東西。
一切工作正常,我只是在我的片段中的關鍵部分。
現在我需要一件事,我無法工作。我想通過綁定知道ActionService有多少個步驟已打開(IsDone == false)。我通過其中一個步驟打開一個孩子表格並更改IsDone-State,母親表格應該即時獲得新的計數。
而且我啞得到的方式;-)
感謝您的幫助或最佳實踐正確的解決方案。
public class ActionService : BaseObject
{
\t public ActionService()
\t {
\t }
\t private String name;
\t public String Name
\t {
\t \t get { return this.name; }
\t \t set
\t \t {
\t \t \t this.name = value;
\t \t \t raisePropertyChanged("Name");
\t \t }
\t }
\t public ObservableCollection<Step> actionsteps;
\t public ObservableCollection<Step> ActionSteps
\t {
\t \t get { return this.actionsteps; }
\t \t set
\t \t {
\t \t \t this.actionsteps = value;
\t \t \t raisePropertyChanged("ActionSteps");
\t \t }
\t }
\t
}
public class Step : BaseObject
{
\t public Step()
\t {
\t }
\t
\t private String description;
\t public String Description
\t {
\t \t get { return this.description; }
\t \t set
\t \t {
\t \t \t this.description = value;
\t \t \t raisePropertyChanged("Description");
\t \t }
\t }
\t
\t private Boolean isdone;
\t public Boolean IsDone
\t {
\t \t get { return this.isdone; }
\t \t set
\t \t {
\t \t \t this.isdone = value;
\t \t \t raisePropertyChanged("IsDone");
\t \t }
\t }
}
public class BaseObject : INotifyPropertyChanged
{
\t public event PropertyChangedEventHandler PropertyChanged;
\t protected void raisePropertyChanged(String parPropertyName)
\t {
\t \t if (this.PropertyChanged != null)
\t \t {
\t \t \t this.PropertyChanged(this, new PropertyChangedEventArgs(parPropertyName));
\t \t }
\t }
}
並聽取每個操作步驟IsDone屬性屬性發生變化,當它改變時,重新獲得IsDone – Muds 2015-03-19 08:52:14
@Muds:我如何聽我的一個安裝前後一類的屬性更改事件vable集合?多數民衆贊成我的失蹤鏈接;-) – Mike 2015-03-19 08:59:00
好,你可以先收聽集合中的集合更改事件,然後如果添加一個新的項目,新增加的項目的屬性更改+ +事件處理程序,如果項目被刪除,刪除該事件.. 說得通 ? – Muds 2015-03-19 09:03:59