从现有控件创建 Xamarin Forms 控件

Creating Xamarin Forms control from existing controls

在 Xamarin Forms 中有一个 TimePicker 控件。我可以从我的 xaml 代码实例化控件并将时间 属性 绑定到我的视图模型上的 属性。

我想为一周中的 select 天("Monday"、"Tuesday" 等)创建一个类似的控件。我们称它为 DaysOfWeekPickerDaysOfWeekPicker 应允许用户 select 零天、一天或多天(最多 7 天)。这与标准 Picker 不同,后者只允许 select 编辑一个项目。

我找到了解释如何使用为每个平台定义的本机渲染器创建自定义控件的教程。但是,作为第一步,我很乐意仅使用 Xamarin Forms 中已经存在的其他控件(例如按钮和标签)来实现 DaysOfWeekPicker。有没有一种方法可以在不为每个平台创建新渲染器的情况下做到这一点?

您可以通过向您的项目添加一个 ContentView 来实现此目的

您的 ContentView 可以有一个 XAML 文件,您可以使用它来定义它的外观,或者您可以在后面的代码中这样做

看看 Bindable Properties (especially about property change events) and Behaviors 并研究它们的工作原理。您可能需要编写一些代码来定义您的控件如何工作、移动、响应、验证等。