Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: WPF-Binding-Konzept bzw. ViewModel o.ä. gesucht

  Alt 5. Okt 2015, 06:35
Du verwaltest die Liste der Parametersätze im Viewmodel und bindest die Index-Eigenschaft der Combobox zur Auswahl des Parametersatzes an die neue 'ParamIndex'-Property des VM.
Im Setter der ParamIndex-Property rufst Du die PropertyChanged-Eventhandler aller Properties auf.
Mit der neuen Methode 'AddParam' kannst Du weitere Parametersätze anfügen.

Code:
public class UIElemData : INotifyPropertyChanged
 {
    private List<Params> _params = new List<Params>();

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string name)
    {
       PropertyChangedEventHandler handler = PropertyChanged;
       if (handler != null)
       {
          handler(this, new PropertyChangedEventArgs(name));
       }
    }

    private int _paramIndex;
    public int ParamIndex
    { 
      get{ return _paramIndex;}
      set{ 
        _paramIndex = value;
        OnPropertyChanged("Margin");
        OnPropertyChanged("Width");
      }
    }

    public void AddParam(Param param) { _params.Add(param); }

    public Thickness Margin
    {
       get { return _params[_paramIndex].Margin; }
       set
       {
          _params[_paramIndex].Margin = value;
          OnPropertyChanged("Margin");
       }
    }

    public int Width
    {
       get { return _params[_paramIndex].Width; }
       set
       {
          _params[_paramIndex].Width = value;
          OnPropertyChanged("Width");
       }
    }

    // ...
 }
  Mit Zitat antworten Zitat