Avatar billede skov_p Praktikant
02. maj 2009 - 02:13 Der er 1 løsning

XAML databinding fejler. ObservableCollection

Jeg har forsøgt at lave en databinding mellem en list<> og en ItemsControl




public class Year {

    public Year() {
      MonthList = new MonthList();
    }

    public Guid CustomerId { get; set; }
    public MonthList MonthList { get; set; }
    public double Average {
      get {
        double avg = 0;
        foreach( Month month in MonthList )
          avg += month.Price;
        return avg/12;
      }
    }

  }



itemsControl.ItemsSource = year.MonthList;


    <ItemsControl x:Name="itemsControl" >
      <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
          <StackPanel Orientation="Horizontal" Background="Transparent"/>
        </ItemsPanelTemplate>
      </ItemsControl.ItemsPanel>
      <ItemsControl.ItemTemplate>
        <DataTemplate>
          <Controls:MonthView ></Controls:MonthView>
        </DataTemplate>
      </ItemsControl.ItemTemplate>
    </ItemsControl>

Emnerne i listen bliver listet ok men når jeg ændre dem opdateres min property ikke



Her er den type der listes

  public class MonthList : ObservableCollection<Month> {
    public MonthList():base() {
    }

  }


  public class Month:INotifyPropertyChanged {

    public enum Months {
      Jan,
      Feb,
      Mar,
      Apr,
      Maj,
      Jun,
      Jul,
      Aug,
      Sep,
      Oct,
      Nov,
      Dec
    }

    public Month(Months month) {
      Name = month;
      Price = 0.43;
    }
    Months _months;
    public Months Name { get { return _months; }
      set { _months = value;
      NotifyPropertyChanged( "Name" );
      }
    }

    double _price;
    public double Price {
      get{ return _price;}
      set {
        _price = value;
        NotifyPropertyChanged( "Price" );
      }
    }

    private void NotifyPropertyChanged(String info) {
      if( PropertyChanged != null ) {
        PropertyChanged( this, new PropertyChangedEventArgs( info ) );
      }
    }
    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    #endregion
  }
Avatar billede skov_p Praktikant
14. juli 2009 - 12:05 #1
Lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester