Я создаю веб-сайт из стандартного приложения для навигации Silverlight в VS2012. Я хотел бы иметь один и тот же файл данных для моей главной страницы и моего домашнего вида. Я создал класс Employee с одним свойством Name, которое я хотел бы показать в текстовом блоке в навигации в главном представлении и в содержимом домашнего вида. В домашнем виде у меня также будет текстовый блок, откуда я могу изменить содержимое имени.Share datacontext для двух видов
Независимо от того, как я пытаюсь установить datacontext, он всегда создает экземпляр сотрудника для каждого из двух видов. Как заставить их использовать один и тот же экземпляр?
Employee.cs
public class Employee : INotifyPropertyChanged
{
string _name = "Test";
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged("Name");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
MainPage.xaml
<TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}"
Text="{Binding Name}"/>
Home.xaml
<TextBox Text="{Binding Name, Mode=TwoWay}"/>
<TextBlock Text="{Binding Name}"/>
Вы ничего о том, как создать виртуальную машину и назначить Просмотры DataContext не сказать? – codeSetter
Как вы установили datacontext? – Jimmy
Я попытался установить datacontext в обоих .xaml-файлах, а также в файлах с кодом. Но насколько я понимаю, это установить datacontext в .xaml на элементе управления так же, как если бы я написал: this.Datacontext = new Employee() в файле с кодом. Моя проблема заключается в том, как получить представление MainPage и Home для совместного использования того же экземпляра Employee – Steean