Проблема, с которой мы сталкиваемся, заключается в том, что мы не можем заставить работать привязку в нашем приложении prism silverlight при использовании подхода, основанного на модели представления. Первый подход к просмотру работает нормально. Мы просмотрели официальную документацию и различные веб-сайты, но все еще не решили проблему. Ниже приведен код как для модели представления, так и для подхода, основанного на представлении. Мы что-то упускаем? Читайте об этом в моем блоге http://silvercasts.blogspot.com
Первый подход к представлению модели:
Загрузчик:
internal void RegisterLoginRegionAndView()
{
IRegionManager regionManager = Container.Resolve<IRegionManager>();
regionManager.RegisterViewWithRegion(ShellRegionNames.MainRegion,
() => Container.Resolve<IViewModel>().View);
}
ViewModel:
public ViewModel(IView view)
{
View = view;
View.SetModel(this);
User = new User();
User.Username = "TestUser";
}
ViewModel Интерфейс:
public interface IViewModel
{
IView View { get; set; }
}
Просмотр интерфейса:
public interface IView
{
void SetModel(IViewModel model);
}
Просмотреть Xaml:
<TextBox x:Name="Username" TextWrapping="Wrap" Text="{Binding User.Username}" />
Просмотреть код позади:
public void SetModel(IViewModel viewModel)
{
this.DataContext = viewModel;
}
Посмотреть первый подход
Загрузчик:
regionManager.RegisterViewWithRegion(ShellRegionNames.MainRegion, typeof(IView));
ViewModel:
public ViewModel()
{
User = new User();
User.Username = "TestUser";
}
Просмотреть код позади:
public View(IViewModel viewModel)
{
InitializeComponent();
this.DataContext = viewModel;
}