C# viewmodels上的Xamarin绑定属性:无法识别viewmodel

C# viewmodels上的Xamarin绑定属性:无法识别viewmodel,c#,xamarin,mvvm,data-binding,C#,Xamarin,Mvvm,Data Binding,我遇到了一个问题,我想对单个项目使用DataTemplateSelector。在这篇文章中,我得到了一个答案,它扩展了contentview并允许这种情况发生。我现在将其与两个数据模板一起使用。我传递给这些作品的背景非常棒。但只要我想使用另一个bindingcontext,它就会说找不到它 我的数据模板: <?xml version="1.0" encoding="utf-8" ?> <ResourceDictionary xmlns=&

我遇到了一个问题,我想对单个项目使用DataTemplateSelector。在这篇文章中,我得到了一个答案,它扩展了contentview并允许这种情况发生。我现在将其与两个数据模板一起使用。我传递给这些作品的背景非常棒。但只要我想使用另一个bindingcontext,它就会说找不到它

我的数据模板:

<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                    xmlns:viewmodels="clr-namespace:Universal_ONE.ViewModels">
    <DataTemplate x:Key="AirpointSettingsDataTemplate">
        <StackLayout Orientation="Horizontal"
                      x:Name="StackName"
                      Spacing="10">
            <Label Text="TestAirpoint" TextColor="Black" FontSize="30" FontFamily="Roboto"/>
            <Label Text="{Binding U}" TextColor="Black" FontSize="30" FontFamily="Roboto">
                <Label.BindingContext>
                    <viewmodels:AirpointSettingsViewModel/>
                </Label.BindingContext>
            </Label>
        </StackLayout>
     </DataTemplate>
</ResourceDictionary>
在viewmodel中放置断点时,它也不会命中这些断点

我还将viewmodel作为stacklayout的bindingcontext进行了测试,但这也没有任何作用

错误:

[0:] Binding: 'U' property not found on 'Universal_ONE.ViewModels.AirpointSettingsViewModel', target property: 'Xamarin.Forms.Label.Text'

我还使用一个完全不相关的viewmodel对随机属性进行了测试。到那时它还是找不到。因此,问题不在于它找不到viewmodel或它有故障。

根据您的代码,您为DataTemplate中的Label BindingContext绑定了一个viewmodel,您在哪里使用此DatTemplate?它在contentpage中使用。datatemplate是通过数据模板选择器加载的,而数据模板选择器又是通过来自我链接的github问题的代码加载的。数据模板从此选择器获取bindingcontext。这也是从中选择模板的项目。但是,我不认为这有什么关系,因为我应该能够在任何元素上使用任何bindingcontext。我使用StackLayout BindableLayout.ItemTemplate中的DataTemplate进行测试,如果没有问题,请提供一个简单的示例,可以在github上重现您的问题进行测试。
[0:] Binding: 'U' property not found on 'Universal_ONE.ViewModels.AirpointSettingsViewModel', target property: 'Xamarin.Forms.Label.Text'