将 catel 与 3rd 方控件一起使用

Posted

技术标签:

【中文标题】将 catel 与 3rd 方控件一起使用【英文标题】:Using catel with 3rd party controls 【发布时间】:2015-12-21 16:40:11 【问题描述】:

我是 catel 和 mvvm 的新手。我已经成功地以“catel”方式构建了一个示例应用程序,并且我喜欢我确实需要的所有附加功能(感谢您提供的精彩教程)。我已经使用典型的 mvvm 和 3rd 方控制打印报告成功运行了一个示例应用程序。当我尝试在 catel 应用程序中使用 3rd 方控件时,即使使用 catel 文档中提供的信息,也无法使其正常工作。即使我设法让它工作,我也不想制作自定义基类来添加新控件,因为我的大多数控件都是特殊的(3D)。所以,我的问题是:我是否可以使用所有的 catel 功能,包括模型和视图模型功能,但使用外部窗口和控件以及典型的手动绑定过程?我需要知道任何特殊问题吗?

【问题讨论】:

这太不清楚了,无法回答。您需要创建一个简单的应用程序来演示您的问题。将代码发布在问题中,详细说明为什么它不起作用。 您好,谢谢您的回复。我不是在问为什么它不起作用。我可能知道如何使它工作(我需要创建一个具有附加行为的基类)。我的问题是我是否可以将 catel 用于模型和视图模型,但使用 3rd 方窗口+控件并手动添加绑定。我是否需要始终创建一个基类并实现 IDataWindow 和 IUserControl 以使其与 catel 一起使用?或者我可以按原样使用它并放松一些自动化吗? 您可以轻松使用Catel 而无需视图中的逻辑。但是......你会错过一些重要的功能,比如嵌套用户控件、保存/取消视图模型和其他东西。它更像是任何其他 fx 中的“常规”视图模型。 谢谢 Geert van Horrik。这就是我一直在寻找的答案! 【参考方案1】:

我也从 2 周开始学习 catel,欢迎来到 Catel World :)

因此,您可以使用 IDataWindow 创建自定义窗口基类,并且您的窗口继承 Catel 功能。需要更多的编码,但不是很多!

我建议您在此处查阅 Custom Window 和 Custom Control 的优秀文档

希望对您有所帮助! 大坝

【讨论】:

谢谢 Damosse31。我打算使用 100% 的外部控件/窗口,并且我尽量避免对所有控件都这样做。我想要 catel 进行验证、IoC、撤消、xamarin 等。我想在普通 mvvm 上工作会更好,并分别添加每个需要的功能。 您不必为每个控件创建一个基类,您只需为用户控件创建一个基类,为一个窗口创建一个。

以上是关于将 catel 与 3rd 方控件一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用基本身份验证而不是 OAuth 2.0 将 Alexa 用户与 3rd 方应用程序相关联

将多个 3rd 方 GraphQL API 包装在单个 GraphQL 端点中

将 3rd 方头文件与 Rcpp 一起使用

使用 3rd 方 API 将适配器设置为微调器

viewmodel + Catel 上的验证

如何将 Python 的随机数生成器与本地种子一起使用?