none
c# binding到Model的屬性 , 卻沒有值..... RRS feed

  • 問題

  • 小弟寫了一個Model 裡面有 一個屬性 :ID

    現在有2個View :A與B  ,A上面只有TextBlock顯示ID , B上面只有一個UniformGrid , 每增加一個A , 就add一個A到B的UniformGrid

    在ViewModel中執行一個方法 , 隨機new Model 出來 ID 則是1234...依序 , 再來是以下

    private ObservableCollection<Model> _ModelList;
    public ObservableCollection<Model> ModelList
    {
          get
          {
               return wifiModelList;
          }
         set
         {
               _ModelList = value;
         }
    }

    new 出來的Model都Add加到ModelList

    View.DataContxt = ViewModel

    A的TextBlock 的 Text = {binding Model.ID} 但是沒有顯示出ID到TextBlock上

    我現在卡在 ModelList 有值 , 但是必須 A.TextBlock.Text = ModelList [x].ID ; 才可以顯示出值到A上

    請問我要如何binding A的Text才對?

    ( 整體來說我要得到一筆資料 ,同時新增一個圖示代表它 , 並顯示它的資訊(ID)在圖示上 , 然後存到B的UniformGrid裡去顯示

    但我現在新增的圖示上都沒有得到值 )

    感謝解答

    2010年10月21日 上午 06:33

所有回覆

  • 1.將你的ViewModel類別加入一個介面INotifyPropertyChanged

    class youViewModelclass : INotifyPropertyChanged
    

    2.修改底下部分知程式碼
        set
          {
            if (this._ModelList == value)
              return;
    
            this._isDownloading = value;
    
          if (PropertyChanged != null)
          {
            PropertyChangedEventArgs args = new PropertyChangedEventArgs("ModelList");
            PropertyChanged(this, args);
          }  
          }
    
    2010年10月21日 上午 08:21