我有一个名为 Station* s * 的类(强调 s),其中包含另一个名为 Station 的类的 3 个实例。
在 Stations_View 我有:
<Grid VerticalAlignment="Stretch" Margin="0,0,0,0" DataContext="{Binding ViewModel_Station1}" Grid.Row="0">
<Views:Station_View Grid.Row="0"/>
</Grid>
<Grid VerticalAlignment="Stretch" Margin="0,0,0,0" DataContext="{Binding ViewModel_Station2}" Grid.Row="0">
<Views:Station_View Grid.Row="0"/>
</Grid>
<Grid VerticalAlignment="Stretch" Margin="0,0,0,0" DataContext="{Binding ViewModel_Station3}" Grid.Row="0">
<Views:Station_View Grid.Row="0"/>
</Grid>
在 Stations_ViewModel 上,我构建了所有 Station 实例,运行代码加载所有 Station 实例的内容(如名称等属性):
ViewModel_Station1 = new Station_ViewModel(_host, 1);
ViewModel_Station2 = new Station_ViewModel(_host, 2);
ViewModel_Station3 = new Station_ViewModel(_host, 3);
NotifyPropertyChanged("ViewModel_Station1");
NotifyPropertyChanged("ViewModel_Station2");
NotifyPropertyChanged("ViewModel_Station3");
但是,即使代码运行并且 Station 实例的属性确实已加载,但在屏幕中显示为它们未加载(例如,名称仍然是空字符串)。
奇怪的是,如果我创建一个只有一个 Station_View 类的窗口(不在 Stations_View 内),一切都会正常加载和显示。
每个相关的变量都被声明为 Public。