Announcement

Collapse
No announcement yet.

DataTemplate DataType in SilverLight

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataTemplate DataType in SilverLight

    Mein Projekt ist in der WPF Version ziemlich weit fortgeschritten. Getreu dem Beispielprogramm http://msdn.microsoft.com/de-de/magazine/dd419663.aspx benutzt es mehrere TabControls und die Zuordnung von Views und ViewModels über solchen Code:
    Code:
    <DataTemplate DataType="{x:Type vm:MotorViewModel}">
            <vw:MotorAuswahlView />
    </DataTemplate>
    Die einzelnen ViewModels werden über den Programmcode mit einem Aufrufparameter initialisiert. Das ist Verweis auf die Klasse, über die alle im Programm benötigten ViewModels verknüpft werden.


    Und nun möchte ich eine SilverLight-Version basteln. Den Code dazu konnte ich erfreulicherweise fast ohne Anpassungen vom WPF Projekt verlinken. Nur die ViewModel-Zuordnung zu den Views macht mir Probleme.

    In Silverlight benötige ich keine Tabs, aber die Aufrufparameter bei der ViewModel-Initialisierung. Deshalb kann das ViewModel nicht direkt im XAML zugeordnet werden. Obiger Code wäre ideal, aber leider funzt der nicht in SL. Und die vielen ähnlich lautenden Hilferufe in WWW-Foren helfen mir auch nicht weiter...

    Danke für jeden Tip.
    Günther
    Günther

  • #2
    Ok, auch wenn man es so nicht machen soll: Über eine Zuweisung im CodeBehind ist es mir nun erst einmal gelungen, dem Ding Leben einzuhauchen...


    In MainPage.xaml.cs:
    Code:
    public MainPage()
    {
                InitializeComponent();
                SL_MainViewModel _MainViewModel = new SL_MainViewModel(this);
                this.DataContext = _MainViewModel;
    }

    und in MainViewModel.cs:
    Code:
    public SL_MainViewModel(MainPage MP)
    {
         MP.gridXX.DataContext = ...
    }
    Günther

    Comment


    • #3
      Hallo,

      siehe auch WPF - View im Stackpanel


      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment

      Working...
      X