繁体   English   中英

C# WPF 使用 Caliburn.Micro:如何将 IEnumerable 转换为 BindableCollection?

[英]C# WPF using Caliburn.Micro: How can I convert an IEnumerable to BindableCollection?

我正在按照有关将 C# 项目连接到 SQLite 数据库的指南进行操作。 这是该指南的链接: https://youtu.be/ayp3tHEkRc0?t=1765

我的代码与视频中创建的代码非常相似。 但是,我正在使用名为 CaliburnMicro 的框架重新创建项目。 我对 CaliburnMicro 的理解是它通过利用 model 属性和 UI 组件的相同名称来“自动化”一些数据绑定。

我在我的项目中使用的 model 是 BindableCollection<> 类型,正如 Tim Corey 的另一个教程中所推荐的那样。 这是我想将数据库查询结果转换成的类型。

指南说数据查询的结果是一个IEnumerable。 他使用内置方法将其转换为 List<> 类型。 但是,没有这种方法可以转换为 CaliburnMicro 的 BindableCollection<> 类型。

    public static BindableCollection<PersonModel> LoadPeople()
    {
        using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
        {
            var output = cnn.Query<PersonModel>("SELECT * FROM Person", new DynamicParameters());

            return output.ToBindableCollection()
        }
    }

我的问题是,如何将 IEnumerable 结果转换为 BindableCollection<> 数据类型? 提前致谢。

public static class Extensions
{
   public static BindableCollection<T> ToBindableCollection<T>(this IEnumerable<T> source)
   {
       return new BindableCollection(source);
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM