Возможно, с вашей архитектурой плохое решение может быть с IsolatedStorageFile
, которое вы можете имитировать сессию ASP.NET!
Насколько я понимаю, вы пытаетесь использовать шаблон MV-VM в своем приложении! Одна из важных причин, по которой ViewModel
появился в нашей жизни, это тестируемый модуль! Если бы я был тобой, у меня был бы Customer
ViewModel и я использовал бы его во всех моих child-usercontrols !
В зависимости от сложности и изоляции, если дочерние элементы управления требуют отдельного ViewModel
, вы можете считать родителя ViewModel
и иметь свойства дочернего элемента ViewModel
.
public class ParentViewModel : FrameworkElement {
Child1ViewModel Child1 { get; set; } //Must be a dependency property
Child1ViewModel Child2 { get; set; } //Must be a dependency property
ICommand SaveButtonCommand; //Your delegate command of your save button
public ParentViewModel() {
Child1 = new Child1ViewModel();
Child2 = new Child2ViewModel();
}
}
И вы можете использовать это родительское представление на вашем Родителе XAML
<UserControl.DataContext>
<ViewModels:ParentViewModels />
</UserControl.DataContext>
<Controls:Child1 DataContext="{Binding Child1}" />
<Controls:Child2 DataContext="{Binding Child2}" />
У вас также есть ICommand SaveButtonCommand
в вашем ParentViewModel
и манипуляция с properties
в вашем ребенке ViewModel
при нажатии!
Надеюсь, это помогло!