Hej
Er igang med at lave et program, hvor jeg benytter MVVM til at holde styr på mine controls. Indtil videre har jeg mit MainWindow og 3 UserControls. Nu vil jeg gerne lave en "gem" funktion, hvor jeg gemme det har lavet i de enkelte UserControls.
Mit problem er så, hvordan får jeg adgang til den instance af de enkelte UserGroups, hvor mit data er lageret fra mit MainWindow.
Det jeg har prøvet indtil videre er, at lave en "shared" class, som indeholder de properties jeg skal gemme. Min plan var så at denne class skal indgå i alle UserControls Constructor og derigennem sikre at alle bruger samme instance af den "shared" class.
- public class SharedData
- {
- public ObservableCollection<Mesh> ListOfMesh = new ObservableCollection<Mesh>();
- }
- public partial class MeshView : UserControl
- {
- //private ObservableCollection<Mesh> ListOfMesh = new ObservableCollection<Mesh>();
-
- private SharedData sharedData = new SharedData();
-
- public MeshView(SharedData _sharedData)
- {
- InitializeComponent();
-
- sharedData = _sharedData;
-
- lwListOfMesh.DataContext = sharedData.ListOfMesh;
- }
- }
Men hvordan angiver jeg en Constructor i XAML til en UserControl?
- <DataTemplate DataType="{x:Type ViewModel:MeshViewModel}">
- <View:MeshView/> // tænkte der var her, men ved ikke hvordan?
- </DataTemplate>
Vil så vidt muligt undgå at bruge en static class, da det vil give nogen problemer med mine Events.
Nogen der kan hjælpe mig med min løsning eller måske har en bedre måde at gøre det på ?
Indlæg senest redigeret d. 03.10.2012 11:49 af Bruger #17108