我正在努力应对以下情况:
我有一个抽象的ViewModel基类,另一个从抽象继承的类,以及一个视图,其DataContext是ViewModelClass:
ABaseViewModel.cs
public abstract class ABaseViewModel : ViewModelBase
{
public ObjectA ObjA;
public ObjectB ObjB;
public AContentViewModel(ref ObjectA objA, ref ObjectB objB)
{
ObjA = objA;
ObjB = objB;
}
}
DerivedViewModel.cs
internal class DerivedViewModel : ABaseViewModel
{
public DerivedViewModel (ref ObjectA objA, ref ObjectB objB)
: base(ref objA, ref objB)
{
}
}
View.xaml
<UserControl...
[...]
<DockPanel LastChildFill="False">
<DockPanel.Background>
<SolidColorBrush Color="White"/>
</DockPanel.Background>
<ListBox DockPanel.Dock="Top" Padding="10" FontSize="18"
ItemsSource="{Binding Path=ObjA.ListOfObject}" DisplayMemberPath="Name" SelectedItem="{Binding Path=ObjA.SelectedObject, Mode=TwoWay}"/>
<ListBox DockPanel.Dock="Top" Padding="10" FontSize="18"
ItemsSource="{Binding Path=ObjB.ListOfObject}" DisplayMemberPath="Name" SelectedItem="{Binding Path=ObjB.SelectedObjec, Mode=TwoWay}"/>
</DockPanel>
</UserControl>
问题是,绑定不起作用,看来绑定不起作用,并且视图在DerivedViewModel中找不到字段ObjA和ObjB。
只是一种精度:视图的 DataContext核心设置为DerivedViewModel (我没有放置代码,但这没关系)。
任何帮助将不胜感激。