依赖属性绑定到抽象BaseViewModel属性不起作用

时间:2018-10-06 10:04:28

标签: c# wpf mvvm mvvm-light dependency-properties

我正在努力应对以下情况:

我有一个抽象的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 (我没有放置代码,但这没关系)。

任何帮助将不胜感激。

0 个答案:

没有答案