したがって、プロジェクトのリストにバインドされたTabControlがあります(各タブは1つのプロジェクトです)-これは正常に機能します。各タブのコンテンツは、プロジェクトの従業員のリストを含むDataGridであり、これも正常に機能します。ここで、DataGridで現在選択されている従業員に関する情報を表示したいと思います。コードは次のとおりです。MainWindow.xamlファイル:
<Window.Resources>
<DataTemplate x:Key="ItemTemplate">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
<DataTemplate x:Key="ContentTemplate">
<DataGrid ItemsSource="{Binding Employees}" SelectedItem="{Binding SelectedEmployee, Mode=TwoWay}" SelectionMode="Extended" SelectionUnit="FullRow" Name="employeesList">
</DataGrid>
</DataTemplate>
</Window.Resources>
後で、ラベルに書き込むだけでこのバインディングをテストしたいと思います。
<Label Name="emp" Content="{Binding SelectedEmployee}"></Label>
およびMainWindowViewModel:
public Employee SelectedEmployee { get { return selectedEmployee; }
set
{
if (selectedEmployee != value)
{
selectedEmployee = value;
NotifyPropertyChanged("SelectedEmployee");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
私はWPFの初心者のようなものです。いくつかのヒントを読みましたが、役に立ちません。ラベル「emp」には何も表示されません。私は何が欠けていますか?