我有一个 UWP MVVM 应用程序,其中我将以下属性绑定到一个DataGridComboBoxColumn
:
public List<ComboBoxValues> ListValues { get; set; } = new List<ComboBoxValues>();
XAML:
xmlns:local="using:MyProject.ViewModels"
<controls:DataGridComboBoxColumn Header="myHeader"
Binding="{Binding theSelectedValue, Mode=TwoWay}"
ItemsSource="{x:Bind local:PageVM.ListValues, Mode=OneWay}"
DisplayMemberPath="theValueOptions"/>
我使用依赖注入,在需要时使用 Autofac 生成我的 viewModel 的实例:
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<PageVM>().AsSelf();
我得到了错误: Static method 'ListValues' not found in type 'PageVM'.
我试过用谷歌搜索它,我发现的唯一结果是绑定到静态属性等不应该那么容易。
为什么 x:bind 需要一个静态方法?我不想使用静态属性/方法。
编辑:
DataContext
页面也使用带有代码的 NavigationService 和 ViewModelBinder 设置,但不是代码隐藏页面。Autofac,IoC 管理这些实例,NavigationService 和 ViewModelBinder。因此,我不知道如何将 XAML 链接到这些实例以使用 x:Bind?
我不想在后面使用代码,因为我试图严格遵守 MVVM。