Xaml UWP绑定到ListView中的方法

Xaml UWP绑定到ListView中的方法,xaml,uwp,win-universal-app,windows-10-universal,uwp-xaml,Xaml,Uwp,Win Universal App,Windows 10 Universal,Uwp Xaml,如何在已将x:DataType设置为类的绑定中调用自定义方法?错误消息显示:在类型“Family”中找不到属性“TotalMembers”。将方法从页面加载添加到Family类时,错误仍然存在 // model public class Family { public int ID { get; set; } public string Surname { get; set; } public int TotalMembers() { return "some code.

如何在已将x:DataType设置为类的绑定中调用自定义方法?错误消息显示:在类型“Family”中找不到属性“TotalMembers”。将方法从页面加载添加到Family类时,错误仍然存在

// model
public class Family
{
    public int ID { get; set; }
    public string Surname { get; set; }
    public int TotalMembers() { return "some code..." }
}
public class Person
{
    public int ID { get; set; }
    public int FamilyID { get; set; }
    public string FirstName { get; set; }
}

// page load
public ObservableCollection<Family> ocFamily { get; set; }
ocFamily = new ObservableCollection<Family>();

// xaml
<ListView ItemsSource="{x:Bind ocFamily}">
    <ListView.ItemTemplate>
            <DataTemplate x:DataType="data:Family>
            <StackPanel>
                <TextBlock Text="{x:Bind Surname}" />
                <TextBlock Text="{x:Bind TotalMembers()}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
//模型
公营家庭
{
公共int ID{get;set;}
公共字符串姓氏{get;set;}
public int TotalMembers(){return“some code…”
}
公共阶层人士
{
公共int ID{get;set;}
public int FamilyID{get;set;}
公共字符串名{get;set;}
}
//页面加载
公共可观测集合ocFamily{get;set;}
ocFamily=新的ObservableCollection();
//xaml
要将函数与应用程序的最低目标SDK版本{x:Bind}一起使用
必须是14393或更高版本。当你的应用目标为
Windows10的早期版本

要使x:Bind to函数正常工作,您需要将最小版本设置为至少14393

你可以从中读到更多


在您的情况下,您应该能够创建
TotalMembers
属性而不是方法。

我应该使用转换器吗?您使用的是什么Windows 10的内部版本?最小版本:Windows 10.0;构建10586,目标版本:Windows 10周年纪念版10.0;14393我可能做错了。我需要调用应用程序中的一个函数,该函数查询数据库并显示第二个表的家庭成员动态行数。这不是族表中的属性,因为在Person表中添加了行,绑定的listview中的计数会发生变化。问题是DataTemplate已经绑定到listview的类。我有点困惑,但为什么不创建一个包装该方法的属性呢?这是可行的,但对于更复杂的代码,我无法将参数传递到属性中。@我看到了detailCode,在这种情况下,您可以尝试使用转换器。