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

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

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

我的代码与视频中创建的代码非常相似。但是,我正在使用名为 CaliburnMicro 的框架重新创建项目。我对 CaliburnMicro 的理解是 'automates' 通过利用模型属性和 UI 组件的相同名称进行一些数据绑定。

我在我的项目中使用的模型是 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);
   }
}