Skip to main content

ferroui_view/generated/
builders.rs

1// @generated by scripts/generate_view_builders.py — do not edit
2//! The element builders of the classes of FerroUI.Base and FerroUI.Controls:
3//! a function that starts an element of each class that can be created, and a
4//! trait per class with a setter for each of its properties and a handler for
5//! each of its routed events, and the classes themselves (the names of the
6//! elements of `rsx!`). See `scripts/generate_view_builders.py`.
7
8#![allow(clippy::too_many_arguments, missing_docs)]
9
10use crate::builder::{El, ElementBuilder, IntoProp, ViewClass};
11use ferroui_base::{ObjectType, Upcast};
12
13pub use ferroui_controls::primitives::AccessText;
14
15impl ViewClass for ferroui_controls::primitives::AccessText {
16    fn create() -> ferroui_base::Ref<Self> {
17        <ferroui_controls::primitives::AccessText>::new()
18    }
19}
20
21/// Starts an element of [`AccessText`](ferroui_controls::primitives::AccessText).
22pub fn access_text() -> El<ferroui_controls::primitives::AccessText> {
23    El::new()
24}
25
26pub use ferroui_controls::shapes::Arc;
27
28impl ViewClass for ferroui_controls::shapes::Arc {
29    fn create() -> ferroui_base::Ref<Self> {
30        <ferroui_controls::shapes::Arc>::new()
31    }
32}
33
34/// Starts an element of [`Arc`](ferroui_controls::shapes::Arc).
35pub fn arc() -> El<ferroui_controls::shapes::Arc> {
36    El::new()
37}
38
39pub use ferroui_controls::AutoCompleteBox;
40
41impl ViewClass for ferroui_controls::AutoCompleteBox {
42    fn create() -> ferroui_base::Ref<Self> {
43        <ferroui_controls::AutoCompleteBox>::new()
44    }
45}
46
47/// Starts an element of [`AutoCompleteBox`](ferroui_controls::AutoCompleteBox).
48pub fn auto_complete_box() -> El<ferroui_controls::AutoCompleteBox> {
49    El::new()
50}
51
52pub use ferroui_controls::Border;
53
54impl ViewClass for ferroui_controls::Border {
55    fn create() -> ferroui_base::Ref<Self> {
56        <ferroui_controls::Border>::new()
57    }
58}
59
60/// Starts an element of [`Border`](ferroui_controls::Border).
61pub fn border() -> El<ferroui_controls::Border> {
62    El::new()
63}
64
65pub use ferroui_controls::Button;
66
67impl ViewClass for ferroui_controls::Button {
68    fn create() -> ferroui_base::Ref<Self> {
69        <ferroui_controls::Button>::new()
70    }
71}
72
73/// Starts an element of [`Button`](ferroui_controls::Button).
74pub fn button() -> El<ferroui_controls::Button> {
75    El::new()
76}
77
78pub use ferroui_controls::ButtonSpinner;
79
80impl ViewClass for ferroui_controls::ButtonSpinner {
81    fn create() -> ferroui_base::Ref<Self> {
82        <ferroui_controls::ButtonSpinner>::new()
83    }
84}
85
86/// Starts an element of [`ButtonSpinner`](ferroui_controls::ButtonSpinner).
87pub fn button_spinner() -> El<ferroui_controls::ButtonSpinner> {
88    El::new()
89}
90
91pub use ferroui_controls::Calendar;
92
93impl ViewClass for ferroui_controls::Calendar {
94    fn create() -> ferroui_base::Ref<Self> {
95        <ferroui_controls::Calendar>::new()
96    }
97}
98
99/// Starts an element of [`Calendar`](ferroui_controls::Calendar).
100pub fn calendar() -> El<ferroui_controls::Calendar> {
101    El::new()
102}
103
104pub use ferroui_controls::primitives::CalendarButton;
105
106impl ViewClass for ferroui_controls::primitives::CalendarButton {
107    fn create() -> ferroui_base::Ref<Self> {
108        <ferroui_controls::primitives::CalendarButton>::new()
109    }
110}
111
112/// Starts an element of [`CalendarButton`](ferroui_controls::primitives::CalendarButton).
113pub fn calendar_button() -> El<ferroui_controls::primitives::CalendarButton> {
114    El::new()
115}
116
117pub use ferroui_controls::CalendarDatePicker;
118
119impl ViewClass for ferroui_controls::CalendarDatePicker {
120    fn create() -> ferroui_base::Ref<Self> {
121        <ferroui_controls::CalendarDatePicker>::new()
122    }
123}
124
125/// Starts an element of [`CalendarDatePicker`](ferroui_controls::CalendarDatePicker).
126pub fn calendar_date_picker() -> El<ferroui_controls::CalendarDatePicker> {
127    El::new()
128}
129
130pub use ferroui_controls::primitives::CalendarDayButton;
131
132impl ViewClass for ferroui_controls::primitives::CalendarDayButton {
133    fn create() -> ferroui_base::Ref<Self> {
134        <ferroui_controls::primitives::CalendarDayButton>::new()
135    }
136}
137
138/// Starts an element of [`CalendarDayButton`](ferroui_controls::primitives::CalendarDayButton).
139pub fn calendar_day_button() -> El<ferroui_controls::primitives::CalendarDayButton> {
140    El::new()
141}
142
143pub use ferroui_controls::primitives::CalendarItem;
144
145impl ViewClass for ferroui_controls::primitives::CalendarItem {
146    fn create() -> ferroui_base::Ref<Self> {
147        <ferroui_controls::primitives::CalendarItem>::new()
148    }
149}
150
151/// Starts an element of [`CalendarItem`](ferroui_controls::primitives::CalendarItem).
152pub fn calendar_item() -> El<ferroui_controls::primitives::CalendarItem> {
153    El::new()
154}
155
156pub use ferroui_controls::Canvas;
157
158impl ViewClass for ferroui_controls::Canvas {
159    fn create() -> ferroui_base::Ref<Self> {
160        <ferroui_controls::Canvas>::new()
161    }
162}
163
164/// Starts an element of [`Canvas`](ferroui_controls::Canvas).
165pub fn canvas() -> El<ferroui_controls::Canvas> {
166    El::new()
167}
168
169pub use ferroui_controls::Carousel;
170
171impl ViewClass for ferroui_controls::Carousel {
172    fn create() -> ferroui_base::Ref<Self> {
173        <ferroui_controls::Carousel>::new()
174    }
175}
176
177/// Starts an element of [`Carousel`](ferroui_controls::Carousel).
178pub fn carousel() -> El<ferroui_controls::Carousel> {
179    El::new()
180}
181
182pub use ferroui_controls::CarouselPage;
183
184impl ViewClass for ferroui_controls::CarouselPage {
185    fn create() -> ferroui_base::Ref<Self> {
186        <ferroui_controls::CarouselPage>::new()
187    }
188}
189
190/// Starts an element of [`CarouselPage`](ferroui_controls::CarouselPage).
191pub fn carousel_page() -> El<ferroui_controls::CarouselPage> {
192    El::new()
193}
194
195pub use ferroui_controls::CheckBox;
196
197impl ViewClass for ferroui_controls::CheckBox {
198    fn create() -> ferroui_base::Ref<Self> {
199        <ferroui_controls::CheckBox>::new()
200    }
201}
202
203/// Starts an element of [`CheckBox`](ferroui_controls::CheckBox).
204pub fn check_box() -> El<ferroui_controls::CheckBox> {
205    El::new()
206}
207
208pub use ferroui_controls::ComboBox;
209
210impl ViewClass for ferroui_controls::ComboBox {
211    fn create() -> ferroui_base::Ref<Self> {
212        <ferroui_controls::ComboBox>::new()
213    }
214}
215
216/// Starts an element of [`ComboBox`](ferroui_controls::ComboBox).
217pub fn combo_box() -> El<ferroui_controls::ComboBox> {
218    El::new()
219}
220
221pub use ferroui_controls::ComboBoxItem;
222
223impl ViewClass for ferroui_controls::ComboBoxItem {
224    fn create() -> ferroui_base::Ref<Self> {
225        <ferroui_controls::ComboBoxItem>::new()
226    }
227}
228
229/// Starts an element of [`ComboBoxItem`](ferroui_controls::ComboBoxItem).
230pub fn combo_box_item() -> El<ferroui_controls::ComboBoxItem> {
231    El::new()
232}
233
234pub use ferroui_controls::CommandBar;
235
236impl ViewClass for ferroui_controls::CommandBar {
237    fn create() -> ferroui_base::Ref<Self> {
238        <ferroui_controls::CommandBar>::new()
239    }
240}
241
242/// Starts an element of [`CommandBar`](ferroui_controls::CommandBar).
243pub fn command_bar() -> El<ferroui_controls::CommandBar> {
244    El::new()
245}
246
247pub use ferroui_controls::CommandBarButton;
248
249impl ViewClass for ferroui_controls::CommandBarButton {
250    fn create() -> ferroui_base::Ref<Self> {
251        <ferroui_controls::CommandBarButton>::new()
252    }
253}
254
255/// Starts an element of [`CommandBarButton`](ferroui_controls::CommandBarButton).
256pub fn command_bar_button() -> El<ferroui_controls::CommandBarButton> {
257    El::new()
258}
259
260pub use ferroui_controls::CommandBarSeparator;
261
262impl ViewClass for ferroui_controls::CommandBarSeparator {
263    fn create() -> ferroui_base::Ref<Self> {
264        <ferroui_controls::CommandBarSeparator>::new()
265    }
266}
267
268/// Starts an element of [`CommandBarSeparator`](ferroui_controls::CommandBarSeparator).
269pub fn command_bar_separator() -> El<ferroui_controls::CommandBarSeparator> {
270    El::new()
271}
272
273pub use ferroui_controls::CommandBarToggleButton;
274
275impl ViewClass for ferroui_controls::CommandBarToggleButton {
276    fn create() -> ferroui_base::Ref<Self> {
277        <ferroui_controls::CommandBarToggleButton>::new()
278    }
279}
280
281/// Starts an element of [`CommandBarToggleButton`](ferroui_controls::CommandBarToggleButton).
282pub fn command_bar_toggle_button() -> El<ferroui_controls::CommandBarToggleButton> {
283    El::new()
284}
285
286pub use ferroui_controls::ContentControl;
287
288impl ViewClass for ferroui_controls::ContentControl {
289    fn create() -> ferroui_base::Ref<Self> {
290        <ferroui_controls::ContentControl>::new()
291    }
292}
293
294/// Starts an element of [`ContentControl`](ferroui_controls::ContentControl).
295pub fn content_control() -> El<ferroui_controls::ContentControl> {
296    El::new()
297}
298
299pub use ferroui_controls::ContentPage;
300
301impl ViewClass for ferroui_controls::ContentPage {
302    fn create() -> ferroui_base::Ref<Self> {
303        <ferroui_controls::ContentPage>::new()
304    }
305}
306
307/// Starts an element of [`ContentPage`](ferroui_controls::ContentPage).
308pub fn content_page() -> El<ferroui_controls::ContentPage> {
309    El::new()
310}
311
312pub use ferroui_controls::presenters::ContentPresenter;
313
314impl ViewClass for ferroui_controls::presenters::ContentPresenter {
315    fn create() -> ferroui_base::Ref<Self> {
316        <ferroui_controls::presenters::ContentPresenter>::new()
317    }
318}
319
320/// Starts an element of [`ContentPresenter`](ferroui_controls::presenters::ContentPresenter).
321pub fn content_presenter() -> El<ferroui_controls::presenters::ContentPresenter> {
322    El::new()
323}
324
325pub use ferroui_controls::ContextMenu;
326
327impl ViewClass for ferroui_controls::ContextMenu {
328    fn create() -> ferroui_base::Ref<Self> {
329        <ferroui_controls::ContextMenu>::new()
330    }
331}
332
333/// Starts an element of [`ContextMenu`](ferroui_controls::ContextMenu).
334pub fn context_menu() -> El<ferroui_controls::ContextMenu> {
335    El::new()
336}
337
338pub use ferroui_controls::Control;
339
340impl ViewClass for ferroui_controls::Control {
341    fn create() -> ferroui_base::Ref<Self> {
342        <ferroui_controls::Control>::new()
343    }
344}
345
346/// Starts an element of [`Control`](ferroui_controls::Control).
347pub fn control() -> El<ferroui_controls::Control> {
348    El::new()
349}
350
351pub use ferroui_controls::DataValidationErrors;
352
353impl ViewClass for ferroui_controls::DataValidationErrors {
354    fn create() -> ferroui_base::Ref<Self> {
355        <ferroui_controls::DataValidationErrors>::new()
356    }
357}
358
359/// Starts an element of [`DataValidationErrors`](ferroui_controls::DataValidationErrors).
360pub fn data_validation_errors() -> El<ferroui_controls::DataValidationErrors> {
361    El::new()
362}
363
364pub use ferroui_controls::DatePicker;
365
366impl ViewClass for ferroui_controls::DatePicker {
367    fn create() -> ferroui_base::Ref<Self> {
368        <ferroui_controls::DatePicker>::new()
369    }
370}
371
372/// Starts an element of [`DatePicker`](ferroui_controls::DatePicker).
373pub fn date_picker() -> El<ferroui_controls::DatePicker> {
374    El::new()
375}
376
377pub use ferroui_controls::DatePickerPresenter;
378
379impl ViewClass for ferroui_controls::DatePickerPresenter {
380    fn create() -> ferroui_base::Ref<Self> {
381        <ferroui_controls::DatePickerPresenter>::new()
382    }
383}
384
385/// Starts an element of [`DatePickerPresenter`](ferroui_controls::DatePickerPresenter).
386pub fn date_picker_presenter() -> El<ferroui_controls::DatePickerPresenter> {
387    El::new()
388}
389
390pub use ferroui_controls::date_time_pickers::DateTimePickerPanel;
391
392impl ViewClass for ferroui_controls::date_time_pickers::DateTimePickerPanel {
393    fn create() -> ferroui_base::Ref<Self> {
394        <ferroui_controls::date_time_pickers::DateTimePickerPanel>::new()
395    }
396}
397
398/// Starts an element of [`DateTimePickerPanel`](ferroui_controls::date_time_pickers::DateTimePickerPanel).
399pub fn date_time_picker_panel() -> El<ferroui_controls::date_time_pickers::DateTimePickerPanel> {
400    El::new()
401}
402
403pub use ferroui_controls::Decorator;
404
405impl ViewClass for ferroui_controls::Decorator {
406    fn create() -> ferroui_base::Ref<Self> {
407        <ferroui_controls::Decorator>::new()
408    }
409}
410
411/// Starts an element of [`Decorator`](ferroui_controls::Decorator).
412pub fn decorator() -> El<ferroui_controls::Decorator> {
413    El::new()
414}
415
416pub use ferroui_controls::DockPanel;
417
418impl ViewClass for ferroui_controls::DockPanel {
419    fn create() -> ferroui_base::Ref<Self> {
420        <ferroui_controls::DockPanel>::new()
421    }
422}
423
424/// Starts an element of [`DockPanel`](ferroui_controls::DockPanel).
425pub fn dock_panel() -> El<ferroui_controls::DockPanel> {
426    El::new()
427}
428
429pub use ferroui_controls::DrawerPage;
430
431impl ViewClass for ferroui_controls::DrawerPage {
432    fn create() -> ferroui_base::Ref<Self> {
433        <ferroui_controls::DrawerPage>::new()
434    }
435}
436
437/// Starts an element of [`DrawerPage`](ferroui_controls::DrawerPage).
438pub fn drawer_page() -> El<ferroui_controls::DrawerPage> {
439    El::new()
440}
441
442pub use ferroui_controls::DropDownButton;
443
444impl ViewClass for ferroui_controls::DropDownButton {
445    fn create() -> ferroui_base::Ref<Self> {
446        <ferroui_controls::DropDownButton>::new()
447    }
448}
449
450/// Starts an element of [`DropDownButton`](ferroui_controls::DropDownButton).
451pub fn drop_down_button() -> El<ferroui_controls::DropDownButton> {
452    El::new()
453}
454
455pub use ferroui_controls::shapes::Ellipse;
456
457impl ViewClass for ferroui_controls::shapes::Ellipse {
458    fn create() -> ferroui_base::Ref<Self> {
459        <ferroui_controls::shapes::Ellipse>::new()
460    }
461}
462
463/// Starts an element of [`Ellipse`](ferroui_controls::shapes::Ellipse).
464pub fn ellipse() -> El<ferroui_controls::shapes::Ellipse> {
465    El::new()
466}
467
468pub use ferroui_controls::embedding::EmbeddableControlRoot;
469
470impl ViewClass for ferroui_controls::embedding::EmbeddableControlRoot {
471    fn create() -> ferroui_base::Ref<Self> {
472        <ferroui_controls::embedding::EmbeddableControlRoot>::new()
473    }
474}
475
476/// Starts an element of [`EmbeddableControlRoot`](ferroui_controls::embedding::EmbeddableControlRoot).
477pub fn embeddable_control_root() -> El<ferroui_controls::embedding::EmbeddableControlRoot> {
478    El::new()
479}
480
481pub use ferroui_controls::Expander;
482
483impl ViewClass for ferroui_controls::Expander {
484    fn create() -> ferroui_base::Ref<Self> {
485        <ferroui_controls::Expander>::new()
486    }
487}
488
489/// Starts an element of [`Expander`](ferroui_controls::Expander).
490pub fn expander() -> El<ferroui_controls::Expander> {
491    El::new()
492}
493
494pub use ferroui_controls::ExperimentalAcrylicBorder;
495
496impl ViewClass for ferroui_controls::ExperimentalAcrylicBorder {
497    fn create() -> ferroui_base::Ref<Self> {
498        <ferroui_controls::ExperimentalAcrylicBorder>::new()
499    }
500}
501
502/// Starts an element of [`ExperimentalAcrylicBorder`](ferroui_controls::ExperimentalAcrylicBorder).
503pub fn experimental_acrylic_border() -> El<ferroui_controls::ExperimentalAcrylicBorder> {
504    El::new()
505}
506
507pub use ferroui_controls::FlexPanel;
508
509impl ViewClass for ferroui_controls::FlexPanel {
510    fn create() -> ferroui_base::Ref<Self> {
511        <ferroui_controls::FlexPanel>::new()
512    }
513}
514
515/// Starts an element of [`FlexPanel`](ferroui_controls::FlexPanel).
516pub fn flex_panel() -> El<ferroui_controls::FlexPanel> {
517    El::new()
518}
519
520pub use ferroui_controls::FlyoutPresenter;
521
522impl ViewClass for ferroui_controls::FlyoutPresenter {
523    fn create() -> ferroui_base::Ref<Self> {
524        <ferroui_controls::FlyoutPresenter>::new()
525    }
526}
527
528/// Starts an element of [`FlyoutPresenter`](ferroui_controls::FlyoutPresenter).
529pub fn flyout_presenter() -> El<ferroui_controls::FlyoutPresenter> {
530    El::new()
531}
532
533pub use ferroui_controls::Grid;
534
535impl ViewClass for ferroui_controls::Grid {
536    fn create() -> ferroui_base::Ref<Self> {
537        <ferroui_controls::Grid>::new()
538    }
539}
540
541/// Starts an element of [`Grid`](ferroui_controls::Grid).
542pub fn grid() -> El<ferroui_controls::Grid> {
543    El::new()
544}
545
546pub use ferroui_controls::GridSplitter;
547
548impl ViewClass for ferroui_controls::GridSplitter {
549    fn create() -> ferroui_base::Ref<Self> {
550        <ferroui_controls::GridSplitter>::new()
551    }
552}
553
554/// Starts an element of [`GridSplitter`](ferroui_controls::GridSplitter).
555pub fn grid_splitter() -> El<ferroui_controls::GridSplitter> {
556    El::new()
557}
558
559pub use ferroui_controls::GroupBox;
560
561impl ViewClass for ferroui_controls::GroupBox {
562    fn create() -> ferroui_base::Ref<Self> {
563        <ferroui_controls::GroupBox>::new()
564    }
565}
566
567/// Starts an element of [`GroupBox`](ferroui_controls::GroupBox).
568pub fn group_box() -> El<ferroui_controls::GroupBox> {
569    El::new()
570}
571
572pub use ferroui_controls::primitives::HeaderedContentControl;
573
574impl ViewClass for ferroui_controls::primitives::HeaderedContentControl {
575    fn create() -> ferroui_base::Ref<Self> {
576        <ferroui_controls::primitives::HeaderedContentControl>::new()
577    }
578}
579
580/// Starts an element of [`HeaderedContentControl`](ferroui_controls::primitives::HeaderedContentControl).
581pub fn headered_content_control() -> El<ferroui_controls::primitives::HeaderedContentControl> {
582    El::new()
583}
584
585pub use ferroui_controls::primitives::HeaderedItemsControl;
586
587impl ViewClass for ferroui_controls::primitives::HeaderedItemsControl {
588    fn create() -> ferroui_base::Ref<Self> {
589        <ferroui_controls::primitives::HeaderedItemsControl>::new()
590    }
591}
592
593/// Starts an element of [`HeaderedItemsControl`](ferroui_controls::primitives::HeaderedItemsControl).
594pub fn headered_items_control() -> El<ferroui_controls::primitives::HeaderedItemsControl> {
595    El::new()
596}
597
598pub use ferroui_controls::primitives::HeaderedSelectingItemsControl;
599
600impl ViewClass for ferroui_controls::primitives::HeaderedSelectingItemsControl {
601    fn create() -> ferroui_base::Ref<Self> {
602        <ferroui_controls::primitives::HeaderedSelectingItemsControl>::new()
603    }
604}
605
606/// Starts an element of [`HeaderedSelectingItemsControl`](ferroui_controls::primitives::HeaderedSelectingItemsControl).
607pub fn headered_selecting_items_control() -> El<ferroui_controls::primitives::HeaderedSelectingItemsControl> {
608    El::new()
609}
610
611pub use ferroui_controls::HyperlinkButton;
612
613impl ViewClass for ferroui_controls::HyperlinkButton {
614    fn create() -> ferroui_base::Ref<Self> {
615        <ferroui_controls::HyperlinkButton>::new()
616    }
617}
618
619/// Starts an element of [`HyperlinkButton`](ferroui_controls::HyperlinkButton).
620pub fn hyperlink_button() -> El<ferroui_controls::HyperlinkButton> {
621    El::new()
622}
623
624pub use ferroui_controls::Image;
625
626impl ViewClass for ferroui_controls::Image {
627    fn create() -> ferroui_base::Ref<Self> {
628        <ferroui_controls::Image>::new()
629    }
630}
631
632/// Starts an element of [`Image`](ferroui_controls::Image).
633pub fn image() -> El<ferroui_controls::Image> {
634    El::new()
635}
636
637pub use ferroui_controls::InputPaneAwareDecorator;
638
639impl ViewClass for ferroui_controls::InputPaneAwareDecorator {
640    fn create() -> ferroui_base::Ref<Self> {
641        <ferroui_controls::InputPaneAwareDecorator>::new()
642    }
643}
644
645/// Starts an element of [`InputPaneAwareDecorator`](ferroui_controls::InputPaneAwareDecorator).
646pub fn input_pane_aware_decorator() -> El<ferroui_controls::InputPaneAwareDecorator> {
647    El::new()
648}
649
650pub use ferroui_controls::ItemsControl;
651
652impl ViewClass for ferroui_controls::ItemsControl {
653    fn create() -> ferroui_base::Ref<Self> {
654        <ferroui_controls::ItemsControl>::new()
655    }
656}
657
658/// Starts an element of [`ItemsControl`](ferroui_controls::ItemsControl).
659pub fn items_control() -> El<ferroui_controls::ItemsControl> {
660    El::new()
661}
662
663pub use ferroui_controls::presenters::ItemsPresenter;
664
665impl ViewClass for ferroui_controls::presenters::ItemsPresenter {
666    fn create() -> ferroui_base::Ref<Self> {
667        <ferroui_controls::presenters::ItemsPresenter>::new()
668    }
669}
670
671/// Starts an element of [`ItemsPresenter`](ferroui_controls::presenters::ItemsPresenter).
672pub fn items_presenter() -> El<ferroui_controls::presenters::ItemsPresenter> {
673    El::new()
674}
675
676pub use ferroui_controls::Label;
677
678impl ViewClass for ferroui_controls::Label {
679    fn create() -> ferroui_base::Ref<Self> {
680        <ferroui_controls::Label>::new()
681    }
682}
683
684/// Starts an element of [`Label`](ferroui_controls::Label).
685pub fn label() -> El<ferroui_controls::Label> {
686    El::new()
687}
688
689pub use ferroui_controls::LayoutTransformControl;
690
691impl ViewClass for ferroui_controls::LayoutTransformControl {
692    fn create() -> ferroui_base::Ref<Self> {
693        <ferroui_controls::LayoutTransformControl>::new()
694    }
695}
696
697/// Starts an element of [`LayoutTransformControl`](ferroui_controls::LayoutTransformControl).
698pub fn layout_transform_control() -> El<ferroui_controls::LayoutTransformControl> {
699    El::new()
700}
701
702pub use ferroui_controls::primitives::LightDismissOverlayLayer;
703
704impl ViewClass for ferroui_controls::primitives::LightDismissOverlayLayer {
705    fn create() -> ferroui_base::Ref<Self> {
706        <ferroui_controls::primitives::LightDismissOverlayLayer>::new()
707    }
708}
709
710/// Starts an element of [`LightDismissOverlayLayer`](ferroui_controls::primitives::LightDismissOverlayLayer).
711pub fn light_dismiss_overlay_layer() -> El<ferroui_controls::primitives::LightDismissOverlayLayer> {
712    El::new()
713}
714
715pub use ferroui_controls::shapes::Line;
716
717impl ViewClass for ferroui_controls::shapes::Line {
718    fn create() -> ferroui_base::Ref<Self> {
719        <ferroui_controls::shapes::Line>::new()
720    }
721}
722
723/// Starts an element of [`Line`](ferroui_controls::shapes::Line).
724pub fn line() -> El<ferroui_controls::shapes::Line> {
725    El::new()
726}
727
728pub use ferroui_controls::ListBox;
729
730impl ViewClass for ferroui_controls::ListBox {
731    fn create() -> ferroui_base::Ref<Self> {
732        <ferroui_controls::ListBox>::new()
733    }
734}
735
736/// Starts an element of [`ListBox`](ferroui_controls::ListBox).
737pub fn list_box() -> El<ferroui_controls::ListBox> {
738    El::new()
739}
740
741pub use ferroui_controls::ListBoxItem;
742
743impl ViewClass for ferroui_controls::ListBoxItem {
744    fn create() -> ferroui_base::Ref<Self> {
745        <ferroui_controls::ListBoxItem>::new()
746    }
747}
748
749/// Starts an element of [`ListBoxItem`](ferroui_controls::ListBoxItem).
750pub fn list_box_item() -> El<ferroui_controls::ListBoxItem> {
751    El::new()
752}
753
754pub use ferroui_controls::MaskedTextBox;
755
756impl ViewClass for ferroui_controls::MaskedTextBox {
757    fn create() -> ferroui_base::Ref<Self> {
758        <ferroui_controls::MaskedTextBox>::new()
759    }
760}
761
762/// Starts an element of [`MaskedTextBox`](ferroui_controls::MaskedTextBox).
763pub fn masked_text_box() -> El<ferroui_controls::MaskedTextBox> {
764    El::new()
765}
766
767pub use ferroui_controls::Menu;
768
769impl ViewClass for ferroui_controls::Menu {
770    fn create() -> ferroui_base::Ref<Self> {
771        <ferroui_controls::Menu>::new()
772    }
773}
774
775/// Starts an element of [`Menu`](ferroui_controls::Menu).
776pub fn menu() -> El<ferroui_controls::Menu> {
777    El::new()
778}
779
780pub use ferroui_controls::MenuFlyoutPresenter;
781
782impl ViewClass for ferroui_controls::MenuFlyoutPresenter {
783    fn create() -> ferroui_base::Ref<Self> {
784        <ferroui_controls::MenuFlyoutPresenter>::new()
785    }
786}
787
788/// Starts an element of [`MenuFlyoutPresenter`](ferroui_controls::MenuFlyoutPresenter).
789pub fn menu_flyout_presenter() -> El<ferroui_controls::MenuFlyoutPresenter> {
790    El::new()
791}
792
793pub use ferroui_controls::MenuItem;
794
795impl ViewClass for ferroui_controls::MenuItem {
796    fn create() -> ferroui_base::Ref<Self> {
797        <ferroui_controls::MenuItem>::new()
798    }
799}
800
801/// Starts an element of [`MenuItem`](ferroui_controls::MenuItem).
802pub fn menu_item() -> El<ferroui_controls::MenuItem> {
803    El::new()
804}
805
806pub use ferroui_controls::NativeControlHost;
807
808impl ViewClass for ferroui_controls::NativeControlHost {
809    fn create() -> ferroui_base::Ref<Self> {
810        <ferroui_controls::NativeControlHost>::new()
811    }
812}
813
814/// Starts an element of [`NativeControlHost`](ferroui_controls::NativeControlHost).
815pub fn native_control_host() -> El<ferroui_controls::NativeControlHost> {
816    El::new()
817}
818
819pub use ferroui_controls::NativeMenuBar;
820
821impl ViewClass for ferroui_controls::NativeMenuBar {
822    fn create() -> ferroui_base::Ref<Self> {
823        <ferroui_controls::NativeMenuBar>::new()
824    }
825}
826
827/// Starts an element of [`NativeMenuBar`](ferroui_controls::NativeMenuBar).
828pub fn native_menu_bar() -> El<ferroui_controls::NativeMenuBar> {
829    El::new()
830}
831
832pub use ferroui_controls::NavigationPage;
833
834impl ViewClass for ferroui_controls::NavigationPage {
835    fn create() -> ferroui_base::Ref<Self> {
836        <ferroui_controls::NavigationPage>::new()
837    }
838}
839
840/// Starts an element of [`NavigationPage`](ferroui_controls::NavigationPage).
841pub fn navigation_page() -> El<ferroui_controls::NavigationPage> {
842    El::new()
843}
844
845pub use ferroui_controls::NotificationCard;
846
847impl ViewClass for ferroui_controls::NotificationCard {
848    fn create() -> ferroui_base::Ref<Self> {
849        <ferroui_controls::NotificationCard>::new()
850    }
851}
852
853/// Starts an element of [`NotificationCard`](ferroui_controls::NotificationCard).
854pub fn notification_card() -> El<ferroui_controls::NotificationCard> {
855    El::new()
856}
857
858pub use ferroui_controls::NumericUpDown;
859
860impl ViewClass for ferroui_controls::NumericUpDown {
861    fn create() -> ferroui_base::Ref<Self> {
862        <ferroui_controls::NumericUpDown>::new()
863    }
864}
865
866/// Starts an element of [`NumericUpDown`](ferroui_controls::NumericUpDown).
867pub fn numeric_up_down() -> El<ferroui_controls::NumericUpDown> {
868    El::new()
869}
870
871pub use ferroui_controls::PageNavigationHost;
872
873impl ViewClass for ferroui_controls::PageNavigationHost {
874    fn create() -> ferroui_base::Ref<Self> {
875        <ferroui_controls::PageNavigationHost>::new()
876    }
877}
878
879/// Starts an element of [`PageNavigationHost`](ferroui_controls::PageNavigationHost).
880pub fn page_navigation_host() -> El<ferroui_controls::PageNavigationHost> {
881    El::new()
882}
883
884pub use ferroui_controls::Panel;
885
886impl ViewClass for ferroui_controls::Panel {
887    fn create() -> ferroui_base::Ref<Self> {
888        <ferroui_controls::Panel>::new()
889    }
890}
891
892/// Starts an element of [`Panel`](ferroui_controls::Panel).
893pub fn panel() -> El<ferroui_controls::Panel> {
894    El::new()
895}
896
897pub use ferroui_controls::shapes::Path;
898
899impl ViewClass for ferroui_controls::shapes::Path {
900    fn create() -> ferroui_base::Ref<Self> {
901        <ferroui_controls::shapes::Path>::new()
902    }
903}
904
905/// Starts an element of [`Path`](ferroui_controls::shapes::Path).
906pub fn path() -> El<ferroui_controls::shapes::Path> {
907    El::new()
908}
909
910pub use ferroui_controls::PathIcon;
911
912impl ViewClass for ferroui_controls::PathIcon {
913    fn create() -> ferroui_base::Ref<Self> {
914        <ferroui_controls::PathIcon>::new()
915    }
916}
917
918/// Starts an element of [`PathIcon`](ferroui_controls::PathIcon).
919pub fn path_icon() -> El<ferroui_controls::PathIcon> {
920    El::new()
921}
922
923pub use ferroui_controls::PipsPager;
924
925impl ViewClass for ferroui_controls::PipsPager {
926    fn create() -> ferroui_base::Ref<Self> {
927        <ferroui_controls::PipsPager>::new()
928    }
929}
930
931/// Starts an element of [`PipsPager`](ferroui_controls::PipsPager).
932pub fn pips_pager() -> El<ferroui_controls::PipsPager> {
933    El::new()
934}
935
936pub use ferroui_controls::shapes::Polygon;
937
938impl ViewClass for ferroui_controls::shapes::Polygon {
939    fn create() -> ferroui_base::Ref<Self> {
940        <ferroui_controls::shapes::Polygon>::new()
941    }
942}
943
944/// Starts an element of [`Polygon`](ferroui_controls::shapes::Polygon).
945pub fn polygon() -> El<ferroui_controls::shapes::Polygon> {
946    El::new()
947}
948
949pub use ferroui_controls::shapes::Polyline;
950
951impl ViewClass for ferroui_controls::shapes::Polyline {
952    fn create() -> ferroui_base::Ref<Self> {
953        <ferroui_controls::shapes::Polyline>::new()
954    }
955}
956
957/// Starts an element of [`Polyline`](ferroui_controls::shapes::Polyline).
958pub fn polyline() -> El<ferroui_controls::shapes::Polyline> {
959    El::new()
960}
961
962pub use ferroui_controls::primitives::Popup;
963
964impl ViewClass for ferroui_controls::primitives::Popup {
965    fn create() -> ferroui_base::Ref<Self> {
966        <ferroui_controls::primitives::Popup>::new()
967    }
968}
969
970/// Starts an element of [`Popup`](ferroui_controls::primitives::Popup).
971pub fn popup() -> El<ferroui_controls::primitives::Popup> {
972    El::new()
973}
974
975pub use ferroui_controls::primitives::PopupOverlayLayer;
976
977impl ViewClass for ferroui_controls::primitives::PopupOverlayLayer {
978    fn create() -> ferroui_base::Ref<Self> {
979        <ferroui_controls::primitives::PopupOverlayLayer>::new()
980    }
981}
982
983/// Starts an element of [`PopupOverlayLayer`](ferroui_controls::primitives::PopupOverlayLayer).
984pub fn popup_overlay_layer() -> El<ferroui_controls::primitives::PopupOverlayLayer> {
985    El::new()
986}
987
988pub use ferroui_controls::ProgressBar;
989
990impl ViewClass for ferroui_controls::ProgressBar {
991    fn create() -> ferroui_base::Ref<Self> {
992        <ferroui_controls::ProgressBar>::new()
993    }
994}
995
996/// Starts an element of [`ProgressBar`](ferroui_controls::ProgressBar).
997pub fn progress_bar() -> El<ferroui_controls::ProgressBar> {
998    El::new()
999}
1000
1001pub use ferroui_controls::RadioButton;
1002
1003impl ViewClass for ferroui_controls::RadioButton {
1004    fn create() -> ferroui_base::Ref<Self> {
1005        <ferroui_controls::RadioButton>::new()
1006    }
1007}
1008
1009/// Starts an element of [`RadioButton`](ferroui_controls::RadioButton).
1010pub fn radio_button() -> El<ferroui_controls::RadioButton> {
1011    El::new()
1012}
1013
1014pub use ferroui_controls::shapes::Rectangle;
1015
1016impl ViewClass for ferroui_controls::shapes::Rectangle {
1017    fn create() -> ferroui_base::Ref<Self> {
1018        <ferroui_controls::shapes::Rectangle>::new()
1019    }
1020}
1021
1022/// Starts an element of [`Rectangle`](ferroui_controls::shapes::Rectangle).
1023pub fn rectangle() -> El<ferroui_controls::shapes::Rectangle> {
1024    El::new()
1025}
1026
1027pub use ferroui_controls::RefreshContainer;
1028
1029impl ViewClass for ferroui_controls::RefreshContainer {
1030    fn create() -> ferroui_base::Ref<Self> {
1031        <ferroui_controls::RefreshContainer>::new()
1032    }
1033}
1034
1035/// Starts an element of [`RefreshContainer`](ferroui_controls::RefreshContainer).
1036pub fn refresh_container() -> El<ferroui_controls::RefreshContainer> {
1037    El::new()
1038}
1039
1040pub use ferroui_controls::RefreshVisualizer;
1041
1042impl ViewClass for ferroui_controls::RefreshVisualizer {
1043    fn create() -> ferroui_base::Ref<Self> {
1044        <ferroui_controls::RefreshVisualizer>::new()
1045    }
1046}
1047
1048/// Starts an element of [`RefreshVisualizer`](ferroui_controls::RefreshVisualizer).
1049pub fn refresh_visualizer() -> El<ferroui_controls::RefreshVisualizer> {
1050    El::new()
1051}
1052
1053pub use ferroui_controls::RelativePanel;
1054
1055impl ViewClass for ferroui_controls::RelativePanel {
1056    fn create() -> ferroui_base::Ref<Self> {
1057        <ferroui_controls::RelativePanel>::new()
1058    }
1059}
1060
1061/// Starts an element of [`RelativePanel`](ferroui_controls::RelativePanel).
1062pub fn relative_panel() -> El<ferroui_controls::RelativePanel> {
1063    El::new()
1064}
1065
1066pub use ferroui_controls::RepeatButton;
1067
1068impl ViewClass for ferroui_controls::RepeatButton {
1069    fn create() -> ferroui_base::Ref<Self> {
1070        <ferroui_controls::RepeatButton>::new()
1071    }
1072}
1073
1074/// Starts an element of [`RepeatButton`](ferroui_controls::RepeatButton).
1075pub fn repeat_button() -> El<ferroui_controls::RepeatButton> {
1076    El::new()
1077}
1078
1079pub use ferroui_controls::ReversibleStackPanel;
1080
1081impl ViewClass for ferroui_controls::ReversibleStackPanel {
1082    fn create() -> ferroui_base::Ref<Self> {
1083        <ferroui_controls::ReversibleStackPanel>::new()
1084    }
1085}
1086
1087/// Starts an element of [`ReversibleStackPanel`](ferroui_controls::ReversibleStackPanel).
1088pub fn reversible_stack_panel() -> El<ferroui_controls::ReversibleStackPanel> {
1089    El::new()
1090}
1091
1092pub use ferroui_controls::primitives::ScrollBar;
1093
1094impl ViewClass for ferroui_controls::primitives::ScrollBar {
1095    fn create() -> ferroui_base::Ref<Self> {
1096        <ferroui_controls::primitives::ScrollBar>::new()
1097    }
1098}
1099
1100/// Starts an element of [`ScrollBar`](ferroui_controls::primitives::ScrollBar).
1101pub fn scroll_bar() -> El<ferroui_controls::primitives::ScrollBar> {
1102    El::new()
1103}
1104
1105pub use ferroui_controls::presenters::ScrollContentPresenter;
1106
1107impl ViewClass for ferroui_controls::presenters::ScrollContentPresenter {
1108    fn create() -> ferroui_base::Ref<Self> {
1109        <ferroui_controls::presenters::ScrollContentPresenter>::new()
1110    }
1111}
1112
1113/// Starts an element of [`ScrollContentPresenter`](ferroui_controls::presenters::ScrollContentPresenter).
1114pub fn scroll_content_presenter() -> El<ferroui_controls::presenters::ScrollContentPresenter> {
1115    El::new()
1116}
1117
1118pub use ferroui_controls::ScrollViewer;
1119
1120impl ViewClass for ferroui_controls::ScrollViewer {
1121    fn create() -> ferroui_base::Ref<Self> {
1122        <ferroui_controls::ScrollViewer>::new()
1123    }
1124}
1125
1126/// Starts an element of [`ScrollViewer`](ferroui_controls::ScrollViewer).
1127pub fn scroll_viewer() -> El<ferroui_controls::ScrollViewer> {
1128    El::new()
1129}
1130
1131pub use ferroui_controls::shapes::Sector;
1132
1133impl ViewClass for ferroui_controls::shapes::Sector {
1134    fn create() -> ferroui_base::Ref<Self> {
1135        <ferroui_controls::shapes::Sector>::new()
1136    }
1137}
1138
1139/// Starts an element of [`Sector`](ferroui_controls::shapes::Sector).
1140pub fn sector() -> El<ferroui_controls::shapes::Sector> {
1141    El::new()
1142}
1143
1144pub use ferroui_controls::SelectableTextBlock;
1145
1146impl ViewClass for ferroui_controls::SelectableTextBlock {
1147    fn create() -> ferroui_base::Ref<Self> {
1148        <ferroui_controls::SelectableTextBlock>::new()
1149    }
1150}
1151
1152/// Starts an element of [`SelectableTextBlock`](ferroui_controls::SelectableTextBlock).
1153pub fn selectable_text_block() -> El<ferroui_controls::SelectableTextBlock> {
1154    El::new()
1155}
1156
1157pub use ferroui_controls::primitives::SelectingItemsControl;
1158
1159impl ViewClass for ferroui_controls::primitives::SelectingItemsControl {
1160    fn create() -> ferroui_base::Ref<Self> {
1161        <ferroui_controls::primitives::SelectingItemsControl>::new()
1162    }
1163}
1164
1165/// Starts an element of [`SelectingItemsControl`](ferroui_controls::primitives::SelectingItemsControl).
1166pub fn selecting_items_control() -> El<ferroui_controls::primitives::SelectingItemsControl> {
1167    El::new()
1168}
1169
1170pub use ferroui_controls::Separator;
1171
1172impl ViewClass for ferroui_controls::Separator {
1173    fn create() -> ferroui_base::Ref<Self> {
1174        <ferroui_controls::Separator>::new()
1175    }
1176}
1177
1178/// Starts an element of [`Separator`](ferroui_controls::Separator).
1179pub fn separator() -> El<ferroui_controls::Separator> {
1180    El::new()
1181}
1182
1183pub use ferroui_controls::Slider;
1184
1185impl ViewClass for ferroui_controls::Slider {
1186    fn create() -> ferroui_base::Ref<Self> {
1187        <ferroui_controls::Slider>::new()
1188    }
1189}
1190
1191/// Starts an element of [`Slider`](ferroui_controls::Slider).
1192pub fn slider() -> El<ferroui_controls::Slider> {
1193    El::new()
1194}
1195
1196pub use ferroui_controls::SplitButton;
1197
1198impl ViewClass for ferroui_controls::SplitButton {
1199    fn create() -> ferroui_base::Ref<Self> {
1200        <ferroui_controls::SplitButton>::new()
1201    }
1202}
1203
1204/// Starts an element of [`SplitButton`](ferroui_controls::SplitButton).
1205pub fn split_button() -> El<ferroui_controls::SplitButton> {
1206    El::new()
1207}
1208
1209pub use ferroui_controls::SplitView;
1210
1211impl ViewClass for ferroui_controls::SplitView {
1212    fn create() -> ferroui_base::Ref<Self> {
1213        <ferroui_controls::SplitView>::new()
1214    }
1215}
1216
1217/// Starts an element of [`SplitView`](ferroui_controls::SplitView).
1218pub fn split_view() -> El<ferroui_controls::SplitView> {
1219    El::new()
1220}
1221
1222pub use ferroui_controls::StackPanel;
1223
1224impl ViewClass for ferroui_controls::StackPanel {
1225    fn create() -> ferroui_base::Ref<Self> {
1226        <ferroui_controls::StackPanel>::new()
1227    }
1228}
1229
1230/// Starts an element of [`StackPanel`](ferroui_controls::StackPanel).
1231pub fn stack_panel() -> El<ferroui_controls::StackPanel> {
1232    El::new()
1233}
1234
1235pub use ferroui_controls::TabControl;
1236
1237impl ViewClass for ferroui_controls::TabControl {
1238    fn create() -> ferroui_base::Ref<Self> {
1239        <ferroui_controls::TabControl>::new()
1240    }
1241}
1242
1243/// Starts an element of [`TabControl`](ferroui_controls::TabControl).
1244pub fn tab_control() -> El<ferroui_controls::TabControl> {
1245    El::new()
1246}
1247
1248pub use ferroui_controls::TabItem;
1249
1250impl ViewClass for ferroui_controls::TabItem {
1251    fn create() -> ferroui_base::Ref<Self> {
1252        <ferroui_controls::TabItem>::new()
1253    }
1254}
1255
1256/// Starts an element of [`TabItem`](ferroui_controls::TabItem).
1257pub fn tab_item() -> El<ferroui_controls::TabItem> {
1258    El::new()
1259}
1260
1261pub use ferroui_controls::primitives::TabStrip;
1262
1263impl ViewClass for ferroui_controls::primitives::TabStrip {
1264    fn create() -> ferroui_base::Ref<Self> {
1265        <ferroui_controls::primitives::TabStrip>::new()
1266    }
1267}
1268
1269/// Starts an element of [`TabStrip`](ferroui_controls::primitives::TabStrip).
1270pub fn tab_strip() -> El<ferroui_controls::primitives::TabStrip> {
1271    El::new()
1272}
1273
1274pub use ferroui_controls::primitives::TabStripItem;
1275
1276impl ViewClass for ferroui_controls::primitives::TabStripItem {
1277    fn create() -> ferroui_base::Ref<Self> {
1278        <ferroui_controls::primitives::TabStripItem>::new()
1279    }
1280}
1281
1282/// Starts an element of [`TabStripItem`](ferroui_controls::primitives::TabStripItem).
1283pub fn tab_strip_item() -> El<ferroui_controls::primitives::TabStripItem> {
1284    El::new()
1285}
1286
1287pub use ferroui_controls::TabbedPage;
1288
1289impl ViewClass for ferroui_controls::TabbedPage {
1290    fn create() -> ferroui_base::Ref<Self> {
1291        <ferroui_controls::TabbedPage>::new()
1292    }
1293}
1294
1295/// Starts an element of [`TabbedPage`](ferroui_controls::TabbedPage).
1296pub fn tabbed_page() -> El<ferroui_controls::TabbedPage> {
1297    El::new()
1298}
1299
1300pub use ferroui_controls::TableView;
1301
1302impl ViewClass for ferroui_controls::TableView {
1303    fn create() -> ferroui_base::Ref<Self> {
1304        <ferroui_controls::TableView>::new()
1305    }
1306}
1307
1308/// Starts an element of [`TableView`](ferroui_controls::TableView).
1309pub fn table_view() -> El<ferroui_controls::TableView> {
1310    El::new()
1311}
1312
1313pub use ferroui_controls::TableViewCell;
1314
1315impl ViewClass for ferroui_controls::TableViewCell {
1316    fn create() -> ferroui_base::Ref<Self> {
1317        <ferroui_controls::TableViewCell>::new()
1318    }
1319}
1320
1321/// Starts an element of [`TableViewCell`](ferroui_controls::TableViewCell).
1322pub fn table_view_cell() -> El<ferroui_controls::TableViewCell> {
1323    El::new()
1324}
1325
1326pub use ferroui_controls::presenters::TableViewCellsPresenter;
1327
1328impl ViewClass for ferroui_controls::presenters::TableViewCellsPresenter {
1329    fn create() -> ferroui_base::Ref<Self> {
1330        <ferroui_controls::presenters::TableViewCellsPresenter>::new()
1331    }
1332}
1333
1334/// Starts an element of [`TableViewCellsPresenter`](ferroui_controls::presenters::TableViewCellsPresenter).
1335pub fn table_view_cells_presenter() -> El<ferroui_controls::presenters::TableViewCellsPresenter> {
1336    El::new()
1337}
1338
1339pub use ferroui_controls::TableViewColumnHeader;
1340
1341impl ViewClass for ferroui_controls::TableViewColumnHeader {
1342    fn create() -> ferroui_base::Ref<Self> {
1343        <ferroui_controls::TableViewColumnHeader>::new()
1344    }
1345}
1346
1347/// Starts an element of [`TableViewColumnHeader`](ferroui_controls::TableViewColumnHeader).
1348pub fn table_view_column_header() -> El<ferroui_controls::TableViewColumnHeader> {
1349    El::new()
1350}
1351
1352pub use ferroui_controls::presenters::TableViewColumnHeadersPresenter;
1353
1354impl ViewClass for ferroui_controls::presenters::TableViewColumnHeadersPresenter {
1355    fn create() -> ferroui_base::Ref<Self> {
1356        <ferroui_controls::presenters::TableViewColumnHeadersPresenter>::new()
1357    }
1358}
1359
1360/// Starts an element of [`TableViewColumnHeadersPresenter`](ferroui_controls::presenters::TableViewColumnHeadersPresenter).
1361pub fn table_view_column_headers_presenter() -> El<ferroui_controls::presenters::TableViewColumnHeadersPresenter> {
1362    El::new()
1363}
1364
1365pub use ferroui_controls::TableViewRow;
1366
1367impl ViewClass for ferroui_controls::TableViewRow {
1368    fn create() -> ferroui_base::Ref<Self> {
1369        <ferroui_controls::TableViewRow>::new()
1370    }
1371}
1372
1373/// Starts an element of [`TableViewRow`](ferroui_controls::TableViewRow).
1374pub fn table_view_row() -> El<ferroui_controls::TableViewRow> {
1375    El::new()
1376}
1377
1378pub use ferroui_controls::primitives::TemplatedControl;
1379
1380impl ViewClass for ferroui_controls::primitives::TemplatedControl {
1381    fn create() -> ferroui_base::Ref<Self> {
1382        <ferroui_controls::primitives::TemplatedControl>::new()
1383    }
1384}
1385
1386/// Starts an element of [`TemplatedControl`](ferroui_controls::primitives::TemplatedControl).
1387pub fn templated_control() -> El<ferroui_controls::primitives::TemplatedControl> {
1388    El::new()
1389}
1390
1391pub use ferroui_controls::TextBlock;
1392
1393impl ViewClass for ferroui_controls::TextBlock {
1394    fn create() -> ferroui_base::Ref<Self> {
1395        <ferroui_controls::TextBlock>::new()
1396    }
1397}
1398
1399/// Starts an element of [`TextBlock`](ferroui_controls::TextBlock).
1400pub fn text_block() -> El<ferroui_controls::TextBlock> {
1401    El::new()
1402}
1403
1404pub use ferroui_controls::TextBox;
1405
1406impl ViewClass for ferroui_controls::TextBox {
1407    fn create() -> ferroui_base::Ref<Self> {
1408        <ferroui_controls::TextBox>::new()
1409    }
1410}
1411
1412/// Starts an element of [`TextBox`](ferroui_controls::TextBox).
1413pub fn text_box() -> El<ferroui_controls::TextBox> {
1414    El::new()
1415}
1416
1417pub use ferroui_controls::presenters::TextPresenter;
1418
1419impl ViewClass for ferroui_controls::presenters::TextPresenter {
1420    fn create() -> ferroui_base::Ref<Self> {
1421        <ferroui_controls::presenters::TextPresenter>::new()
1422    }
1423}
1424
1425/// Starts an element of [`TextPresenter`](ferroui_controls::presenters::TextPresenter).
1426pub fn text_presenter() -> El<ferroui_controls::presenters::TextPresenter> {
1427    El::new()
1428}
1429
1430pub use ferroui_controls::primitives::TextSelectionHandle;
1431
1432impl ViewClass for ferroui_controls::primitives::TextSelectionHandle {
1433    fn create() -> ferroui_base::Ref<Self> {
1434        <ferroui_controls::primitives::TextSelectionHandle>::new()
1435    }
1436}
1437
1438/// Starts an element of [`TextSelectionHandle`](ferroui_controls::primitives::TextSelectionHandle).
1439pub fn text_selection_handle() -> El<ferroui_controls::primitives::TextSelectionHandle> {
1440    El::new()
1441}
1442
1443pub use ferroui_controls::primitives::TextSelectionHandleCanvas;
1444
1445impl ViewClass for ferroui_controls::primitives::TextSelectionHandleCanvas {
1446    fn create() -> ferroui_base::Ref<Self> {
1447        <ferroui_controls::primitives::TextSelectionHandleCanvas>::new()
1448    }
1449}
1450
1451/// Starts an element of [`TextSelectionHandleCanvas`](ferroui_controls::primitives::TextSelectionHandleCanvas).
1452pub fn text_selection_handle_canvas() -> El<ferroui_controls::primitives::TextSelectionHandleCanvas> {
1453    El::new()
1454}
1455
1456pub use ferroui_controls::primitives::TextSelectorLayer;
1457
1458impl ViewClass for ferroui_controls::primitives::TextSelectorLayer {
1459    fn create() -> ferroui_base::Ref<Self> {
1460        <ferroui_controls::primitives::TextSelectorLayer>::new()
1461    }
1462}
1463
1464/// Starts an element of [`TextSelectorLayer`](ferroui_controls::primitives::TextSelectorLayer).
1465pub fn text_selector_layer() -> El<ferroui_controls::primitives::TextSelectorLayer> {
1466    El::new()
1467}
1468
1469pub use ferroui_controls::ThemeVariantScope;
1470
1471impl ViewClass for ferroui_controls::ThemeVariantScope {
1472    fn create() -> ferroui_base::Ref<Self> {
1473        <ferroui_controls::ThemeVariantScope>::new()
1474    }
1475}
1476
1477/// Starts an element of [`ThemeVariantScope`](ferroui_controls::ThemeVariantScope).
1478pub fn theme_variant_scope() -> El<ferroui_controls::ThemeVariantScope> {
1479    El::new()
1480}
1481
1482pub use ferroui_controls::primitives::Thumb;
1483
1484impl ViewClass for ferroui_controls::primitives::Thumb {
1485    fn create() -> ferroui_base::Ref<Self> {
1486        <ferroui_controls::primitives::Thumb>::new()
1487    }
1488}
1489
1490/// Starts an element of [`Thumb`](ferroui_controls::primitives::Thumb).
1491pub fn thumb() -> El<ferroui_controls::primitives::Thumb> {
1492    El::new()
1493}
1494
1495pub use ferroui_controls::TickBar;
1496
1497impl ViewClass for ferroui_controls::TickBar {
1498    fn create() -> ferroui_base::Ref<Self> {
1499        <ferroui_controls::TickBar>::new()
1500    }
1501}
1502
1503/// Starts an element of [`TickBar`](ferroui_controls::TickBar).
1504pub fn tick_bar() -> El<ferroui_controls::TickBar> {
1505    El::new()
1506}
1507
1508pub use ferroui_controls::TimePicker;
1509
1510impl ViewClass for ferroui_controls::TimePicker {
1511    fn create() -> ferroui_base::Ref<Self> {
1512        <ferroui_controls::TimePicker>::new()
1513    }
1514}
1515
1516/// Starts an element of [`TimePicker`](ferroui_controls::TimePicker).
1517pub fn time_picker() -> El<ferroui_controls::TimePicker> {
1518    El::new()
1519}
1520
1521pub use ferroui_controls::TimePickerPresenter;
1522
1523impl ViewClass for ferroui_controls::TimePickerPresenter {
1524    fn create() -> ferroui_base::Ref<Self> {
1525        <ferroui_controls::TimePickerPresenter>::new()
1526    }
1527}
1528
1529/// Starts an element of [`TimePickerPresenter`](ferroui_controls::TimePickerPresenter).
1530pub fn time_picker_presenter() -> El<ferroui_controls::TimePickerPresenter> {
1531    El::new()
1532}
1533
1534pub use ferroui_controls::primitives::ToggleButton;
1535
1536impl ViewClass for ferroui_controls::primitives::ToggleButton {
1537    fn create() -> ferroui_base::Ref<Self> {
1538        <ferroui_controls::primitives::ToggleButton>::new()
1539    }
1540}
1541
1542/// Starts an element of [`ToggleButton`](ferroui_controls::primitives::ToggleButton).
1543pub fn toggle_button() -> El<ferroui_controls::primitives::ToggleButton> {
1544    El::new()
1545}
1546
1547pub use ferroui_controls::ToggleSplitButton;
1548
1549impl ViewClass for ferroui_controls::ToggleSplitButton {
1550    fn create() -> ferroui_base::Ref<Self> {
1551        <ferroui_controls::ToggleSplitButton>::new()
1552    }
1553}
1554
1555/// Starts an element of [`ToggleSplitButton`](ferroui_controls::ToggleSplitButton).
1556pub fn toggle_split_button() -> El<ferroui_controls::ToggleSplitButton> {
1557    El::new()
1558}
1559
1560pub use ferroui_controls::ToggleSwitch;
1561
1562impl ViewClass for ferroui_controls::ToggleSwitch {
1563    fn create() -> ferroui_base::Ref<Self> {
1564        <ferroui_controls::ToggleSwitch>::new()
1565    }
1566}
1567
1568/// Starts an element of [`ToggleSwitch`](ferroui_controls::ToggleSwitch).
1569pub fn toggle_switch() -> El<ferroui_controls::ToggleSwitch> {
1570    El::new()
1571}
1572
1573pub use ferroui_controls::ToolTip;
1574
1575impl ViewClass for ferroui_controls::ToolTip {
1576    fn create() -> ferroui_base::Ref<Self> {
1577        <ferroui_controls::ToolTip>::new()
1578    }
1579}
1580
1581/// Starts an element of [`ToolTip`](ferroui_controls::ToolTip).
1582pub fn tool_tip() -> El<ferroui_controls::ToolTip> {
1583    El::new()
1584}
1585
1586pub use ferroui_controls::primitives::Track;
1587
1588impl ViewClass for ferroui_controls::primitives::Track {
1589    fn create() -> ferroui_base::Ref<Self> {
1590        <ferroui_controls::primitives::Track>::new()
1591    }
1592}
1593
1594/// Starts an element of [`Track`](ferroui_controls::primitives::Track).
1595pub fn track() -> El<ferroui_controls::primitives::Track> {
1596    El::new()
1597}
1598
1599pub use ferroui_controls::TransitioningContentControl;
1600
1601impl ViewClass for ferroui_controls::TransitioningContentControl {
1602    fn create() -> ferroui_base::Ref<Self> {
1603        <ferroui_controls::TransitioningContentControl>::new()
1604    }
1605}
1606
1607/// Starts an element of [`TransitioningContentControl`](ferroui_controls::TransitioningContentControl).
1608pub fn transitioning_content_control() -> El<ferroui_controls::TransitioningContentControl> {
1609    El::new()
1610}
1611
1612pub use ferroui_controls::TreeView;
1613
1614impl ViewClass for ferroui_controls::TreeView {
1615    fn create() -> ferroui_base::Ref<Self> {
1616        <ferroui_controls::TreeView>::new()
1617    }
1618}
1619
1620/// Starts an element of [`TreeView`](ferroui_controls::TreeView).
1621pub fn tree_view() -> El<ferroui_controls::TreeView> {
1622    El::new()
1623}
1624
1625pub use ferroui_controls::TreeViewItem;
1626
1627impl ViewClass for ferroui_controls::TreeViewItem {
1628    fn create() -> ferroui_base::Ref<Self> {
1629        <ferroui_controls::TreeViewItem>::new()
1630    }
1631}
1632
1633/// Starts an element of [`TreeViewItem`](ferroui_controls::TreeViewItem).
1634pub fn tree_view_item() -> El<ferroui_controls::TreeViewItem> {
1635    El::new()
1636}
1637
1638pub use ferroui_controls::primitives::UniformGrid;
1639
1640impl ViewClass for ferroui_controls::primitives::UniformGrid {
1641    fn create() -> ferroui_base::Ref<Self> {
1642        <ferroui_controls::primitives::UniformGrid>::new()
1643    }
1644}
1645
1646/// Starts an element of [`UniformGrid`](ferroui_controls::primitives::UniformGrid).
1647pub fn uniform_grid() -> El<ferroui_controls::primitives::UniformGrid> {
1648    El::new()
1649}
1650
1651pub use ferroui_controls::UserControl;
1652
1653impl ViewClass for ferroui_controls::UserControl {
1654    fn create() -> ferroui_base::Ref<Self> {
1655        <ferroui_controls::UserControl>::new()
1656    }
1657}
1658
1659/// Starts an element of [`UserControl`](ferroui_controls::UserControl).
1660pub fn user_control() -> El<ferroui_controls::UserControl> {
1661    El::new()
1662}
1663
1664pub use ferroui_controls::Viewbox;
1665
1666impl ViewClass for ferroui_controls::Viewbox {
1667    fn create() -> ferroui_base::Ref<Self> {
1668        <ferroui_controls::Viewbox>::new()
1669    }
1670}
1671
1672/// Starts an element of [`Viewbox`](ferroui_controls::Viewbox).
1673pub fn viewbox() -> El<ferroui_controls::Viewbox> {
1674    El::new()
1675}
1676
1677pub use ferroui_controls::VirtualizingCarouselPanel;
1678
1679impl ViewClass for ferroui_controls::VirtualizingCarouselPanel {
1680    fn create() -> ferroui_base::Ref<Self> {
1681        <ferroui_controls::VirtualizingCarouselPanel>::new()
1682    }
1683}
1684
1685/// Starts an element of [`VirtualizingCarouselPanel`](ferroui_controls::VirtualizingCarouselPanel).
1686pub fn virtualizing_carousel_panel() -> El<ferroui_controls::VirtualizingCarouselPanel> {
1687    El::new()
1688}
1689
1690pub use ferroui_controls::VirtualizingStackPanel;
1691
1692impl ViewClass for ferroui_controls::VirtualizingStackPanel {
1693    fn create() -> ferroui_base::Ref<Self> {
1694        <ferroui_controls::VirtualizingStackPanel>::new()
1695    }
1696}
1697
1698/// Starts an element of [`VirtualizingStackPanel`](ferroui_controls::VirtualizingStackPanel).
1699pub fn virtualizing_stack_panel() -> El<ferroui_controls::VirtualizingStackPanel> {
1700    El::new()
1701}
1702
1703pub use ferroui_controls::primitives::VisualLayerManager;
1704
1705impl ViewClass for ferroui_controls::primitives::VisualLayerManager {
1706    fn create() -> ferroui_base::Ref<Self> {
1707        <ferroui_controls::primitives::VisualLayerManager>::new()
1708    }
1709}
1710
1711/// Starts an element of [`VisualLayerManager`](ferroui_controls::primitives::VisualLayerManager).
1712pub fn visual_layer_manager() -> El<ferroui_controls::primitives::VisualLayerManager> {
1713    El::new()
1714}
1715
1716pub use ferroui_controls::Window;
1717
1718impl ViewClass for ferroui_controls::Window {
1719    fn create() -> ferroui_base::Ref<Self> {
1720        <ferroui_controls::Window>::new()
1721    }
1722}
1723
1724/// Starts an element of [`Window`](ferroui_controls::Window).
1725pub fn window() -> El<ferroui_controls::Window> {
1726    El::new()
1727}
1728
1729pub use ferroui_controls::WindowNotificationManager;
1730
1731impl ViewClass for ferroui_controls::WindowNotificationManager {
1732    fn create() -> ferroui_base::Ref<Self> {
1733        <ferroui_controls::WindowNotificationManager>::new()
1734    }
1735}
1736
1737/// Starts an element of [`WindowNotificationManager`](ferroui_controls::WindowNotificationManager).
1738pub fn window_notification_manager() -> El<ferroui_controls::WindowNotificationManager> {
1739    El::new()
1740}
1741
1742pub use ferroui_controls::WrapPanel;
1743
1744impl ViewClass for ferroui_controls::WrapPanel {
1745    fn create() -> ferroui_base::Ref<Self> {
1746        <ferroui_controls::WrapPanel>::new()
1747    }
1748}
1749
1750/// Starts an element of [`WrapPanel`](ferroui_controls::WrapPanel).
1751pub fn wrap_panel() -> El<ferroui_controls::WrapPanel> {
1752    El::new()
1753}
1754
1755/// The properties and routed events of [`AccessText`](ferroui_controls::primitives::AccessText).
1756pub trait AccessTextProps: ElementBuilder {
1757    /// Sets [`AccessText::show_access_key_property`](ferroui_controls::primitives::AccessText::show_access_key_property).
1758    fn show_access_key<M>(self, value: impl IntoProp<bool, M>) -> Self {
1759        self.prop(<ferroui_controls::primitives::AccessText>::show_access_key_property(), value)
1760    }
1761}
1762impl<T: ObjectType + Upcast<ferroui_controls::primitives::AccessText>> AccessTextProps for El<T> {}
1763
1764/// The properties and routed events of [`AdornerLayer`](ferroui_controls::primitives::AdornerLayer).
1765pub trait AdornerLayerProps: ElementBuilder {
1766    /// Sets [`AdornerLayer::is_clip_enabled_property`](ferroui_controls::primitives::AdornerLayer::is_clip_enabled_property).
1767    fn is_clip_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
1768        self.prop(<ferroui_controls::primitives::AdornerLayer>::is_clip_enabled_property(), value)
1769    }
1770
1771    /// Sets [`AdornerLayer::adorner_property`](ferroui_controls::primitives::AdornerLayer::adorner_property).
1772    fn adorner<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
1773        self.prop(<ferroui_controls::primitives::AdornerLayer>::adorner_property(), value)
1774    }
1775
1776    /// Sets [`AdornerLayer::default_focus_adorner_property`](ferroui_controls::primitives::AdornerLayer::default_focus_adorner_property).
1777    fn default_focus_adorner<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Control>>>>>, M>) -> Self {
1778        self.prop(<ferroui_controls::primitives::AdornerLayer>::default_focus_adorner_property(), value)
1779    }
1780}
1781impl<T: ObjectType + Upcast<ferroui_controls::primitives::AdornerLayer>> AdornerLayerProps for El<T> {}
1782
1783/// The properties and routed events of [`Animatable`](ferroui_base::animation::Animatable).
1784pub trait AnimatableProps: ElementBuilder {
1785    /// Sets [`Animatable::clock_property`](ferroui_base::animation::Animatable::clock_property).
1786    fn clock<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IClock>>, M>) -> Self {
1787        self.prop(<ferroui_base::animation::Animatable>::clock_property(), value)
1788    }
1789
1790    /// Sets [`Animatable::transitions_property`](ferroui_base::animation::Animatable::transitions_property).
1791    fn transitions<M>(self, value: impl IntoProp<Option<ferroui_base::animation::Transitions>, M>) -> Self {
1792        self.prop(<ferroui_base::animation::Animatable>::transitions_property(), value)
1793    }
1794}
1795impl<T: ObjectType + Upcast<ferroui_base::animation::Animatable>> AnimatableProps for El<T> {}
1796
1797/// The properties and routed events of [`Animation`](ferroui_base::animation::Animation).
1798pub trait AnimationProps: ElementBuilder {
1799    /// Sets [`Animation::easing_property`](ferroui_base::animation::Animation::easing_property).
1800    fn easing<M>(self, value: impl IntoProp<ferroui_base::animation::easings::Easing, M>) -> Self {
1801        self.prop(<ferroui_base::animation::Animation>::easing_property(), value)
1802    }
1803
1804    /// Sets [`Animation::speed_ratio_property`](ferroui_base::animation::Animation::speed_ratio_property).
1805    fn speed_ratio<M>(self, value: impl IntoProp<f64, M>) -> Self {
1806        self.prop(<ferroui_base::animation::Animation>::speed_ratio_property(), value)
1807    }
1808}
1809impl<T: ObjectType + Upcast<ferroui_base::animation::Animation>> AnimationProps for El<T> {}
1810
1811/// The properties and routed events of [`AnimatorKeyFrame`](ferroui_base::animation::AnimatorKeyFrame).
1812pub trait AnimatorKeyFrameProps: ElementBuilder {
1813    /// Sets [`AnimatorKeyFrame::value_property`](ferroui_base::animation::AnimatorKeyFrame::value_property).
1814    fn value<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
1815        self.prop(<ferroui_base::animation::AnimatorKeyFrame>::value_property(), value)
1816    }
1817}
1818impl<T: ObjectType + Upcast<ferroui_base::animation::AnimatorKeyFrame>> AnimatorKeyFrameProps for El<T> {}
1819
1820/// The properties and routed events of [`Application`](ferroui_controls::Application).
1821pub trait ApplicationProps: ElementBuilder {
1822    /// Sets [`Application::data_context_property`](ferroui_controls::Application::data_context_property).
1823    fn data_context<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
1824        self.prop(<ferroui_controls::Application>::data_context_property(), value)
1825    }
1826
1827    /// Sets [`Application::actual_theme_variant_property`](ferroui_controls::Application::actual_theme_variant_property).
1828    fn actual_theme_variant<M>(self, value: impl IntoProp<Option<ferroui_base::styling::ThemeVariant>, M>) -> Self {
1829        self.prop(<ferroui_controls::Application>::actual_theme_variant_property(), value)
1830    }
1831
1832    /// Sets [`Application::requested_theme_variant_property`](ferroui_controls::Application::requested_theme_variant_property).
1833    fn requested_theme_variant<M>(self, value: impl IntoProp<Option<ferroui_base::styling::ThemeVariant>, M>) -> Self {
1834        self.prop(<ferroui_controls::Application>::requested_theme_variant_property(), value)
1835    }
1836}
1837impl<T: ObjectType + Upcast<ferroui_controls::Application>> ApplicationProps for El<T> {}
1838
1839/// The properties and routed events of [`Arc`](ferroui_controls::shapes::Arc).
1840pub trait ArcProps: ElementBuilder {
1841    /// Sets [`Arc::start_angle_property`](ferroui_controls::shapes::Arc::start_angle_property).
1842    fn start_angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
1843        self.prop(<ferroui_controls::shapes::Arc>::start_angle_property(), value)
1844    }
1845
1846    /// Sets [`Arc::sweep_angle_property`](ferroui_controls::shapes::Arc::sweep_angle_property).
1847    fn sweep_angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
1848        self.prop(<ferroui_controls::shapes::Arc>::sweep_angle_property(), value)
1849    }
1850}
1851impl<T: ObjectType + Upcast<ferroui_controls::shapes::Arc>> ArcProps for El<T> {}
1852
1853/// The properties and routed events of [`ArcSegment`](ferroui_base::media::ArcSegment).
1854pub trait ArcSegmentProps: ElementBuilder {
1855    /// Sets [`ArcSegment::is_large_arc_property`](ferroui_base::media::ArcSegment::is_large_arc_property).
1856    fn is_large_arc<M>(self, value: impl IntoProp<bool, M>) -> Self {
1857        self.prop(<ferroui_base::media::ArcSegment>::is_large_arc_property(), value)
1858    }
1859
1860    /// Sets [`ArcSegment::point_property`](ferroui_base::media::ArcSegment::point_property).
1861    fn point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
1862        self.prop(<ferroui_base::media::ArcSegment>::point_property(), value)
1863    }
1864
1865    /// Sets [`ArcSegment::rotation_angle_property`](ferroui_base::media::ArcSegment::rotation_angle_property).
1866    fn rotation_angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
1867        self.prop(<ferroui_base::media::ArcSegment>::rotation_angle_property(), value)
1868    }
1869
1870    /// Sets [`ArcSegment::size_property`](ferroui_base::media::ArcSegment::size_property).
1871    fn size<M>(self, value: impl IntoProp<ferroui_base::Size, M>) -> Self {
1872        self.prop(<ferroui_base::media::ArcSegment>::size_property(), value)
1873    }
1874
1875    /// Sets [`ArcSegment::sweep_direction_property`](ferroui_base::media::ArcSegment::sweep_direction_property).
1876    fn sweep_direction<M>(self, value: impl IntoProp<ferroui_base::media::SweepDirection, M>) -> Self {
1877        self.prop(<ferroui_base::media::ArcSegment>::sweep_direction_property(), value)
1878    }
1879}
1880impl<T: ObjectType + Upcast<ferroui_base::media::ArcSegment>> ArcSegmentProps for El<T> {}
1881
1882/// The properties and routed events of [`AutoCompleteBox`](ferroui_controls::AutoCompleteBox).
1883pub trait AutoCompleteBoxProps: ElementBuilder {
1884    /// Sets [`AutoCompleteBox::caret_index_property`](ferroui_controls::AutoCompleteBox::caret_index_property).
1885    fn caret_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
1886        self.prop(<ferroui_controls::AutoCompleteBox>::caret_index_property(), value)
1887    }
1888
1889    /// Sets [`AutoCompleteBox::placeholder_text_property`](ferroui_controls::AutoCompleteBox::placeholder_text_property).
1890    fn placeholder_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
1891        self.prop(<ferroui_controls::AutoCompleteBox>::placeholder_text_property(), value)
1892    }
1893
1894    /// Sets [`AutoCompleteBox::placeholder_foreground_property`](ferroui_controls::AutoCompleteBox::placeholder_foreground_property).
1895    fn placeholder_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
1896        self.prop(<ferroui_controls::AutoCompleteBox>::placeholder_foreground_property(), value)
1897    }
1898
1899    /// Sets [`AutoCompleteBox::minimum_prefix_length_property`](ferroui_controls::AutoCompleteBox::minimum_prefix_length_property).
1900    fn minimum_prefix_length<M>(self, value: impl IntoProp<i32, M>) -> Self {
1901        self.prop(<ferroui_controls::AutoCompleteBox>::minimum_prefix_length_property(), value)
1902    }
1903
1904    /// Sets [`AutoCompleteBox::minimum_populate_delay_property`](ferroui_controls::AutoCompleteBox::minimum_populate_delay_property).
1905    fn minimum_populate_delay<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
1906        self.prop(<ferroui_controls::AutoCompleteBox>::minimum_populate_delay_property(), value)
1907    }
1908
1909    /// Sets [`AutoCompleteBox::max_drop_down_height_property`](ferroui_controls::AutoCompleteBox::max_drop_down_height_property).
1910    fn max_drop_down_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
1911        self.prop(<ferroui_controls::AutoCompleteBox>::max_drop_down_height_property(), value)
1912    }
1913
1914    /// Sets [`AutoCompleteBox::is_text_completion_enabled_property`](ferroui_controls::AutoCompleteBox::is_text_completion_enabled_property).
1915    fn is_text_completion_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
1916        self.prop(<ferroui_controls::AutoCompleteBox>::is_text_completion_enabled_property(), value)
1917    }
1918
1919    /// Sets [`AutoCompleteBox::item_template_property`](ferroui_controls::AutoCompleteBox::item_template_property).
1920    fn item_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
1921        self.prop(<ferroui_controls::AutoCompleteBox>::item_template_property(), value)
1922    }
1923
1924    /// Sets [`AutoCompleteBox::clear_selection_on_lost_focus_property`](ferroui_controls::AutoCompleteBox::clear_selection_on_lost_focus_property).
1925    fn clear_selection_on_lost_focus<M>(self, value: impl IntoProp<bool, M>) -> Self {
1926        self.prop(<ferroui_controls::AutoCompleteBox>::clear_selection_on_lost_focus_property(), value)
1927    }
1928
1929    /// Sets [`AutoCompleteBox::is_drop_down_open_property`](ferroui_controls::AutoCompleteBox::is_drop_down_open_property).
1930    fn is_drop_down_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
1931        self.prop(<ferroui_controls::AutoCompleteBox>::is_drop_down_open_property(), value)
1932    }
1933
1934    /// Sets [`AutoCompleteBox::selected_item_property`](ferroui_controls::AutoCompleteBox::selected_item_property).
1935    fn selected_item<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
1936        self.prop(<ferroui_controls::AutoCompleteBox>::selected_item_property(), value)
1937    }
1938
1939    /// Sets [`AutoCompleteBox::text_property`](ferroui_controls::AutoCompleteBox::text_property).
1940    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
1941        self.prop(<ferroui_controls::AutoCompleteBox>::text_property(), value)
1942    }
1943
1944    /// Sets [`AutoCompleteBox::filter_mode_property`](ferroui_controls::AutoCompleteBox::filter_mode_property).
1945    fn filter_mode<M>(self, value: impl IntoProp<ferroui_controls::AutoCompleteFilterMode, M>) -> Self {
1946        self.prop(<ferroui_controls::AutoCompleteBox>::filter_mode_property(), value)
1947    }
1948
1949    /// Sets [`AutoCompleteBox::items_source_property`](ferroui_controls::AutoCompleteBox::items_source_property).
1950    fn items_source<M>(self, value: impl IntoProp<Option<ferroui_controls::ItemsSource>, M>) -> Self {
1951        self.prop(<ferroui_controls::AutoCompleteBox>::items_source_property(), value)
1952    }
1953
1954    /// Sets [`AutoCompleteBox::max_length_property`](ferroui_controls::AutoCompleteBox::max_length_property).
1955    fn max_length<M>(self, value: impl IntoProp<i32, M>) -> Self {
1956        self.prop(<ferroui_controls::AutoCompleteBox>::max_length_property(), value)
1957    }
1958
1959    /// Sets [`AutoCompleteBox::inner_left_content_property`](ferroui_controls::AutoCompleteBox::inner_left_content_property).
1960    fn inner_left_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
1961        self.prop(<ferroui_controls::AutoCompleteBox>::inner_left_content_property(), value)
1962    }
1963
1964    /// Sets [`AutoCompleteBox::inner_right_content_property`](ferroui_controls::AutoCompleteBox::inner_right_content_property).
1965    fn inner_right_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
1966        self.prop(<ferroui_controls::AutoCompleteBox>::inner_right_content_property(), value)
1967    }
1968
1969    /// Handles [`AutoCompleteBox::selection_changed_event`](ferroui_controls::AutoCompleteBox::selection_changed_event).
1970    fn on_selection_changed(self, handler: impl Fn(&ferroui_controls::SelectionChangedEventArgs) + 'static) -> Self {
1971        self.routed(<ferroui_controls::AutoCompleteBox>::selection_changed_event(), move |_, e| handler(e))
1972    }
1973
1974    /// Handles [`AutoCompleteBox::text_changed_event`](ferroui_controls::AutoCompleteBox::text_changed_event).
1975    fn on_text_changed(self, handler: impl Fn(&ferroui_controls::TextChangedEventArgs) + 'static) -> Self {
1976        self.routed(<ferroui_controls::AutoCompleteBox>::text_changed_event(), move |_, e| handler(e))
1977    }
1978}
1979impl<T: ObjectType + Upcast<ferroui_controls::AutoCompleteBox>> AutoCompleteBoxProps for El<T> {}
1980
1981/// The properties and routed events of [`BezierSegment`](ferroui_base::media::BezierSegment).
1982pub trait BezierSegmentProps: ElementBuilder {
1983    /// Sets [`BezierSegment::point1_property`](ferroui_base::media::BezierSegment::point1_property).
1984    fn point1<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
1985        self.prop(<ferroui_base::media::BezierSegment>::point1_property(), value)
1986    }
1987
1988    /// Sets [`BezierSegment::point2_property`](ferroui_base::media::BezierSegment::point2_property).
1989    fn point2<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
1990        self.prop(<ferroui_base::media::BezierSegment>::point2_property(), value)
1991    }
1992
1993    /// Sets [`BezierSegment::point3_property`](ferroui_base::media::BezierSegment::point3_property).
1994    fn point3<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
1995        self.prop(<ferroui_base::media::BezierSegment>::point3_property(), value)
1996    }
1997}
1998impl<T: ObjectType + Upcast<ferroui_base::media::BezierSegment>> BezierSegmentProps for El<T> {}
1999
2000/// The properties and routed events of [`BindingEvaluator`](ferroui_controls::utils::BindingEvaluator).
2001pub trait BindingEvaluatorProps: ElementBuilder {
2002    /// Sets [`BindingEvaluator::value_property`](ferroui_controls::utils::BindingEvaluator::value_property).
2003    fn value<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2004        self.prop(<ferroui_controls::utils::BindingEvaluator>::value_property(), value)
2005    }
2006}
2007impl<T: ObjectType + Upcast<ferroui_controls::utils::BindingEvaluator>> BindingEvaluatorProps for El<T> {}
2008
2009/// The properties and routed events of [`BitmapCache`](ferroui_base::media::BitmapCache).
2010pub trait BitmapCacheProps: ElementBuilder {
2011    /// Sets [`BitmapCache::render_at_scale_property`](ferroui_base::media::BitmapCache::render_at_scale_property).
2012    fn render_at_scale<M>(self, value: impl IntoProp<f64, M>) -> Self {
2013        self.prop(<ferroui_base::media::BitmapCache>::render_at_scale_property(), value)
2014    }
2015
2016    /// Sets [`BitmapCache::snaps_to_device_pixels_property`](ferroui_base::media::BitmapCache::snaps_to_device_pixels_property).
2017    fn snaps_to_device_pixels<M>(self, value: impl IntoProp<bool, M>) -> Self {
2018        self.prop(<ferroui_base::media::BitmapCache>::snaps_to_device_pixels_property(), value)
2019    }
2020
2021    /// Sets [`BitmapCache::enable_clear_type_property`](ferroui_base::media::BitmapCache::enable_clear_type_property).
2022    fn enable_clear_type<M>(self, value: impl IntoProp<bool, M>) -> Self {
2023        self.prop(<ferroui_base::media::BitmapCache>::enable_clear_type_property(), value)
2024    }
2025}
2026impl<T: ObjectType + Upcast<ferroui_base::media::BitmapCache>> BitmapCacheProps for El<T> {}
2027
2028/// The properties and routed events of [`BlurEffect`](ferroui_base::media::BlurEffect).
2029pub trait BlurEffectProps: ElementBuilder {
2030    /// Sets [`BlurEffect::radius_property`](ferroui_base::media::BlurEffect::radius_property).
2031    fn radius<M>(self, value: impl IntoProp<f64, M>) -> Self {
2032        self.prop(<ferroui_base::media::BlurEffect>::radius_property(), value)
2033    }
2034}
2035impl<T: ObjectType + Upcast<ferroui_base::media::BlurEffect>> BlurEffectProps for El<T> {}
2036
2037/// The properties and routed events of [`Border`](ferroui_controls::Border).
2038pub trait BorderProps: ElementBuilder {
2039    /// Sets [`Border::background_property`](ferroui_controls::Border::background_property).
2040    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2041        self.prop(<ferroui_controls::Border>::background_property(), value)
2042    }
2043
2044    /// Sets [`Border::background_sizing_property`](ferroui_controls::Border::background_sizing_property).
2045    fn background_sizing<M>(self, value: impl IntoProp<ferroui_base::media::BackgroundSizing, M>) -> Self {
2046        self.prop(<ferroui_controls::Border>::background_sizing_property(), value)
2047    }
2048
2049    /// Sets [`Border::border_brush_property`](ferroui_controls::Border::border_brush_property).
2050    fn border_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2051        self.prop(<ferroui_controls::Border>::border_brush_property(), value)
2052    }
2053
2054    /// Sets [`Border::border_thickness_property`](ferroui_controls::Border::border_thickness_property).
2055    fn border_thickness<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
2056        self.prop(<ferroui_controls::Border>::border_thickness_property(), value)
2057    }
2058
2059    /// Sets [`Border::corner_radius_property`](ferroui_controls::Border::corner_radius_property).
2060    fn corner_radius<M>(self, value: impl IntoProp<ferroui_base::CornerRadius, M>) -> Self {
2061        self.prop(<ferroui_controls::Border>::corner_radius_property(), value)
2062    }
2063
2064    /// Sets [`Border::box_shadow_property`](ferroui_controls::Border::box_shadow_property).
2065    fn box_shadow<M>(self, value: impl IntoProp<ferroui_base::media::BoxShadows, M>) -> Self {
2066        self.prop(<ferroui_controls::Border>::box_shadow_property(), value)
2067    }
2068}
2069impl<T: ObjectType + Upcast<ferroui_controls::Border>> BorderProps for El<T> {}
2070
2071/// The properties and routed events of [`Brush`](ferroui_base::media::Brush).
2072pub trait BrushProps: ElementBuilder {
2073    /// Sets [`Brush::opacity_property`](ferroui_base::media::Brush::opacity_property).
2074    fn opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
2075        self.prop(<ferroui_base::media::Brush>::opacity_property(), value)
2076    }
2077
2078    /// Sets [`Brush::transform_property`](ferroui_base::media::Brush::transform_property).
2079    fn transform<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::ITransform>>, M>) -> Self {
2080        self.prop(<ferroui_base::media::Brush>::transform_property(), value)
2081    }
2082
2083    /// Sets [`Brush::transform_origin_property`](ferroui_base::media::Brush::transform_origin_property).
2084    fn transform_origin<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
2085        self.prop(<ferroui_base::media::Brush>::transform_origin_property(), value)
2086    }
2087
2088    /// Sets [`Brush::relative_transform_property`](ferroui_base::media::Brush::relative_transform_property).
2089    fn relative_transform<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::ITransform>>, M>) -> Self {
2090        self.prop(<ferroui_base::media::Brush>::relative_transform_property(), value)
2091    }
2092}
2093impl<T: ObjectType + Upcast<ferroui_base::media::Brush>> BrushProps for El<T> {}
2094
2095/// The properties and routed events of [`Button`](ferroui_controls::Button).
2096pub trait ButtonProps: ElementBuilder {
2097    /// Sets [`Button::click_mode_property`](ferroui_controls::Button::click_mode_property).
2098    fn click_mode<M>(self, value: impl IntoProp<ferroui_controls::ClickMode, M>) -> Self {
2099        self.prop(<ferroui_controls::Button>::click_mode_property(), value)
2100    }
2101
2102    /// Sets [`Button::command_property`](ferroui_controls::Button::command_property).
2103    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
2104        self.prop(<ferroui_controls::Button>::command_property(), value)
2105    }
2106
2107    /// Sets [`Button::hot_key_property`](ferroui_controls::Button::hot_key_property).
2108    fn hot_key<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
2109        self.prop(<ferroui_controls::Button>::hot_key_property(), value)
2110    }
2111
2112    /// Sets [`Button::command_parameter_property`](ferroui_controls::Button::command_parameter_property).
2113    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2114        self.prop(<ferroui_controls::Button>::command_parameter_property(), value)
2115    }
2116
2117    /// Sets [`Button::is_default_property`](ferroui_controls::Button::is_default_property).
2118    fn is_default<M>(self, value: impl IntoProp<bool, M>) -> Self {
2119        self.prop(<ferroui_controls::Button>::is_default_property(), value)
2120    }
2121
2122    /// Sets [`Button::is_cancel_property`](ferroui_controls::Button::is_cancel_property).
2123    fn is_cancel<M>(self, value: impl IntoProp<bool, M>) -> Self {
2124        self.prop(<ferroui_controls::Button>::is_cancel_property(), value)
2125    }
2126
2127    /// Sets [`Button::flyout_property`](ferroui_controls::Button::flyout_property).
2128    fn flyout<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::FlyoutBase>>, M>) -> Self {
2129        self.prop(<ferroui_controls::Button>::flyout_property(), value)
2130    }
2131
2132    /// Handles [`Button::click_event`](ferroui_controls::Button::click_event).
2133    fn on_click(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2134        self.routed(<ferroui_controls::Button>::click_event(), move |_, e| handler(e))
2135    }
2136}
2137impl<T: ObjectType + Upcast<ferroui_controls::Button>> ButtonProps for El<T> {}
2138
2139/// The properties and routed events of [`ButtonSpinner`](ferroui_controls::ButtonSpinner).
2140pub trait ButtonSpinnerProps: ElementBuilder {
2141    /// Sets [`ButtonSpinner::allow_spin_property`](ferroui_controls::ButtonSpinner::allow_spin_property).
2142    fn allow_spin<M>(self, value: impl IntoProp<bool, M>) -> Self {
2143        self.prop(<ferroui_controls::ButtonSpinner>::allow_spin_property(), value)
2144    }
2145
2146    /// Sets [`ButtonSpinner::show_button_spinner_property`](ferroui_controls::ButtonSpinner::show_button_spinner_property).
2147    fn show_button_spinner<M>(self, value: impl IntoProp<bool, M>) -> Self {
2148        self.prop(<ferroui_controls::ButtonSpinner>::show_button_spinner_property(), value)
2149    }
2150
2151    /// Sets [`ButtonSpinner::button_spinner_location_property`](ferroui_controls::ButtonSpinner::button_spinner_location_property).
2152    fn button_spinner_location<M>(self, value: impl IntoProp<ferroui_controls::Location, M>) -> Self {
2153        self.prop(<ferroui_controls::ButtonSpinner>::button_spinner_location_property(), value)
2154    }
2155}
2156impl<T: ObjectType + Upcast<ferroui_controls::ButtonSpinner>> ButtonSpinnerProps for El<T> {}
2157
2158/// The properties and routed events of [`Calendar`](ferroui_controls::Calendar).
2159pub trait CalendarProps: ElementBuilder {
2160    /// Sets [`Calendar::first_day_of_week_property`](ferroui_controls::Calendar::first_day_of_week_property).
2161    fn first_day_of_week<M>(self, value: impl IntoProp<ferroui_base::utilities::DayOfWeek, M>) -> Self {
2162        self.prop(<ferroui_controls::Calendar>::first_day_of_week_property(), value)
2163    }
2164
2165    /// Sets [`Calendar::is_today_highlighted_property`](ferroui_controls::Calendar::is_today_highlighted_property).
2166    fn is_today_highlighted<M>(self, value: impl IntoProp<bool, M>) -> Self {
2167        self.prop(<ferroui_controls::Calendar>::is_today_highlighted_property(), value)
2168    }
2169
2170    /// Sets [`Calendar::header_background_property`](ferroui_controls::Calendar::header_background_property).
2171    fn header_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2172        self.prop(<ferroui_controls::Calendar>::header_background_property(), value)
2173    }
2174
2175    /// Sets [`Calendar::is_week_number_visible_property`](ferroui_controls::Calendar::is_week_number_visible_property).
2176    fn is_week_number_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
2177        self.prop(<ferroui_controls::Calendar>::is_week_number_visible_property(), value)
2178    }
2179
2180    /// Sets [`Calendar::week_number_rule_property`](ferroui_controls::Calendar::week_number_rule_property).
2181    fn week_number_rule<M>(self, value: impl IntoProp<ferroui_base::utilities::CalendarWeekRule, M>) -> Self {
2182        self.prop(<ferroui_controls::Calendar>::week_number_rule_property(), value)
2183    }
2184
2185    /// Sets [`Calendar::display_mode_property`](ferroui_controls::Calendar::display_mode_property).
2186    fn display_mode<M>(self, value: impl IntoProp<ferroui_controls::CalendarMode, M>) -> Self {
2187        self.prop(<ferroui_controls::Calendar>::display_mode_property(), value)
2188    }
2189
2190    /// Sets [`Calendar::selection_mode_property`](ferroui_controls::Calendar::selection_mode_property).
2191    fn selection_mode<M>(self, value: impl IntoProp<ferroui_controls::CalendarSelectionMode, M>) -> Self {
2192        self.prop(<ferroui_controls::Calendar>::selection_mode_property(), value)
2193    }
2194
2195    /// Sets [`Calendar::allow_tap_range_selection_property`](ferroui_controls::Calendar::allow_tap_range_selection_property).
2196    fn allow_tap_range_selection<M>(self, value: impl IntoProp<bool, M>) -> Self {
2197        self.prop(<ferroui_controls::Calendar>::allow_tap_range_selection_property(), value)
2198    }
2199
2200    /// Sets [`Calendar::selected_date_property`](ferroui_controls::Calendar::selected_date_property).
2201    fn selected_date<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2202        self.prop(<ferroui_controls::Calendar>::selected_date_property(), value)
2203    }
2204
2205    /// Sets [`Calendar::display_date_property`](ferroui_controls::Calendar::display_date_property).
2206    fn display_date<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTime, M>) -> Self {
2207        self.prop(<ferroui_controls::Calendar>::display_date_property(), value)
2208    }
2209
2210    /// Sets [`Calendar::display_date_start_property`](ferroui_controls::Calendar::display_date_start_property).
2211    fn display_date_start<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2212        self.prop(<ferroui_controls::Calendar>::display_date_start_property(), value)
2213    }
2214
2215    /// Sets [`Calendar::display_date_end_property`](ferroui_controls::Calendar::display_date_end_property).
2216    fn display_date_end<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2217        self.prop(<ferroui_controls::Calendar>::display_date_end_property(), value)
2218    }
2219}
2220impl<T: ObjectType + Upcast<ferroui_controls::Calendar>> CalendarProps for El<T> {}
2221
2222/// The properties and routed events of [`CalendarDatePicker`](ferroui_controls::CalendarDatePicker).
2223pub trait CalendarDatePickerProps: ElementBuilder {
2224    /// Sets [`CalendarDatePicker::display_date_property`](ferroui_controls::CalendarDatePicker::display_date_property).
2225    fn display_date<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTime, M>) -> Self {
2226        self.prop(<ferroui_controls::CalendarDatePicker>::display_date_property(), value)
2227    }
2228
2229    /// Sets [`CalendarDatePicker::display_date_start_property`](ferroui_controls::CalendarDatePicker::display_date_start_property).
2230    fn display_date_start<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2231        self.prop(<ferroui_controls::CalendarDatePicker>::display_date_start_property(), value)
2232    }
2233
2234    /// Sets [`CalendarDatePicker::display_date_end_property`](ferroui_controls::CalendarDatePicker::display_date_end_property).
2235    fn display_date_end<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2236        self.prop(<ferroui_controls::CalendarDatePicker>::display_date_end_property(), value)
2237    }
2238
2239    /// Sets [`CalendarDatePicker::first_day_of_week_property`](ferroui_controls::CalendarDatePicker::first_day_of_week_property).
2240    fn first_day_of_week<M>(self, value: impl IntoProp<ferroui_base::utilities::DayOfWeek, M>) -> Self {
2241        self.prop(<ferroui_controls::CalendarDatePicker>::first_day_of_week_property(), value)
2242    }
2243
2244    /// Sets [`CalendarDatePicker::is_drop_down_open_property`](ferroui_controls::CalendarDatePicker::is_drop_down_open_property).
2245    fn is_drop_down_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
2246        self.prop(<ferroui_controls::CalendarDatePicker>::is_drop_down_open_property(), value)
2247    }
2248
2249    /// Sets [`CalendarDatePicker::is_today_highlighted_property`](ferroui_controls::CalendarDatePicker::is_today_highlighted_property).
2250    fn is_today_highlighted<M>(self, value: impl IntoProp<bool, M>) -> Self {
2251        self.prop(<ferroui_controls::CalendarDatePicker>::is_today_highlighted_property(), value)
2252    }
2253
2254    /// Sets [`CalendarDatePicker::selected_date_property`](ferroui_controls::CalendarDatePicker::selected_date_property).
2255    fn selected_date<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTime>, M>) -> Self {
2256        self.prop(<ferroui_controls::CalendarDatePicker>::selected_date_property(), value)
2257    }
2258
2259    /// Sets [`CalendarDatePicker::selected_date_format_property`](ferroui_controls::CalendarDatePicker::selected_date_format_property).
2260    fn selected_date_format<M>(self, value: impl IntoProp<ferroui_controls::CalendarDatePickerFormat, M>) -> Self {
2261        self.prop(<ferroui_controls::CalendarDatePicker>::selected_date_format_property(), value)
2262    }
2263
2264    /// Sets [`CalendarDatePicker::custom_date_format_string_property`](ferroui_controls::CalendarDatePicker::custom_date_format_string_property).
2265    fn custom_date_format_string<M>(self, value: impl IntoProp<String, M>) -> Self {
2266        self.prop(<ferroui_controls::CalendarDatePicker>::custom_date_format_string_property(), value)
2267    }
2268
2269    /// Sets [`CalendarDatePicker::text_converter_property`](ferroui_controls::CalendarDatePicker::text_converter_property).
2270    fn text_converter<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::data::converters::IValueConverter>>, M>) -> Self {
2271        self.prop(<ferroui_controls::CalendarDatePicker>::text_converter_property(), value)
2272    }
2273
2274    /// Sets [`CalendarDatePicker::text_property`](ferroui_controls::CalendarDatePicker::text_property).
2275    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2276        self.prop(<ferroui_controls::CalendarDatePicker>::text_property(), value)
2277    }
2278
2279    /// Sets [`CalendarDatePicker::placeholder_text_property`](ferroui_controls::CalendarDatePicker::placeholder_text_property).
2280    fn placeholder_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2281        self.prop(<ferroui_controls::CalendarDatePicker>::placeholder_text_property(), value)
2282    }
2283
2284    /// Sets [`CalendarDatePicker::use_floating_placeholder_property`](ferroui_controls::CalendarDatePicker::use_floating_placeholder_property).
2285    fn use_floating_placeholder<M>(self, value: impl IntoProp<bool, M>) -> Self {
2286        self.prop(<ferroui_controls::CalendarDatePicker>::use_floating_placeholder_property(), value)
2287    }
2288
2289    /// Sets [`CalendarDatePicker::placeholder_foreground_property`](ferroui_controls::CalendarDatePicker::placeholder_foreground_property).
2290    fn placeholder_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2291        self.prop(<ferroui_controls::CalendarDatePicker>::placeholder_foreground_property(), value)
2292    }
2293
2294    /// Sets [`CalendarDatePicker::horizontal_content_alignment_property`](ferroui_controls::CalendarDatePicker::horizontal_content_alignment_property).
2295    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
2296        self.prop(<ferroui_controls::CalendarDatePicker>::horizontal_content_alignment_property(), value)
2297    }
2298
2299    /// Sets [`CalendarDatePicker::vertical_content_alignment_property`](ferroui_controls::CalendarDatePicker::vertical_content_alignment_property).
2300    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
2301        self.prop(<ferroui_controls::CalendarDatePicker>::vertical_content_alignment_property(), value)
2302    }
2303
2304    /// Sets [`CalendarDatePicker::is_week_number_visible_property`](ferroui_controls::CalendarDatePicker::is_week_number_visible_property).
2305    fn is_week_number_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
2306        self.prop(<ferroui_controls::CalendarDatePicker>::is_week_number_visible_property(), value)
2307    }
2308
2309    /// Sets [`CalendarDatePicker::week_number_rule_property`](ferroui_controls::CalendarDatePicker::week_number_rule_property).
2310    fn week_number_rule<M>(self, value: impl IntoProp<ferroui_base::utilities::CalendarWeekRule, M>) -> Self {
2311        self.prop(<ferroui_controls::CalendarDatePicker>::week_number_rule_property(), value)
2312    }
2313}
2314impl<T: ObjectType + Upcast<ferroui_controls::CalendarDatePicker>> CalendarDatePickerProps for El<T> {}
2315
2316/// The properties and routed events of [`CalendarItem`](ferroui_controls::primitives::CalendarItem).
2317pub trait CalendarItemProps: ElementBuilder {
2318    /// Sets [`CalendarItem::header_background_property`](ferroui_controls::primitives::CalendarItem::header_background_property).
2319    fn header_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2320        self.prop(<ferroui_controls::primitives::CalendarItem>::header_background_property(), value)
2321    }
2322
2323    /// Sets [`CalendarItem::day_title_template_property`](ferroui_controls::primitives::CalendarItem::day_title_template_property).
2324    fn day_title_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Control>>>>>, M>) -> Self {
2325        self.prop(<ferroui_controls::primitives::CalendarItem>::day_title_template_property(), value)
2326    }
2327}
2328impl<T: ObjectType + Upcast<ferroui_controls::primitives::CalendarItem>> CalendarItemProps for El<T> {}
2329
2330/// The properties and routed events of [`Canvas`](ferroui_controls::Canvas).
2331pub trait CanvasProps: ElementBuilder {
2332    /// Sets [`Canvas::left_property`](ferroui_controls::Canvas::left_property).
2333    fn left<M>(self, value: impl IntoProp<f64, M>) -> Self {
2334        self.prop(<ferroui_controls::Canvas>::left_property(), value)
2335    }
2336
2337    /// Sets [`Canvas::top_property`](ferroui_controls::Canvas::top_property).
2338    fn top<M>(self, value: impl IntoProp<f64, M>) -> Self {
2339        self.prop(<ferroui_controls::Canvas>::top_property(), value)
2340    }
2341
2342    /// Sets [`Canvas::right_property`](ferroui_controls::Canvas::right_property).
2343    fn right<M>(self, value: impl IntoProp<f64, M>) -> Self {
2344        self.prop(<ferroui_controls::Canvas>::right_property(), value)
2345    }
2346
2347    /// Sets [`Canvas::bottom_property`](ferroui_controls::Canvas::bottom_property).
2348    fn bottom<M>(self, value: impl IntoProp<f64, M>) -> Self {
2349        self.prop(<ferroui_controls::Canvas>::bottom_property(), value)
2350    }
2351}
2352impl<T: ObjectType + Upcast<ferroui_controls::Canvas>> CanvasProps for El<T> {}
2353
2354/// The properties and routed events of [`Carousel`](ferroui_controls::Carousel).
2355pub trait CarouselProps: ElementBuilder {
2356    /// Sets [`Carousel::page_transition_property`](ferroui_controls::Carousel::page_transition_property).
2357    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
2358        self.prop(<ferroui_controls::Carousel>::page_transition_property(), value)
2359    }
2360
2361    /// Sets [`Carousel::is_swipe_enabled_property`](ferroui_controls::Carousel::is_swipe_enabled_property).
2362    fn is_swipe_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
2363        self.prop(<ferroui_controls::Carousel>::is_swipe_enabled_property(), value)
2364    }
2365
2366    /// Sets [`Carousel::viewport_fraction_property`](ferroui_controls::Carousel::viewport_fraction_property).
2367    fn viewport_fraction<M>(self, value: impl IntoProp<f64, M>) -> Self {
2368        self.prop(<ferroui_controls::Carousel>::viewport_fraction_property(), value)
2369    }
2370}
2371impl<T: ObjectType + Upcast<ferroui_controls::Carousel>> CarouselProps for El<T> {}
2372
2373/// The properties and routed events of [`CarouselPage`](ferroui_controls::CarouselPage).
2374pub trait CarouselPageProps: ElementBuilder {
2375    /// Sets [`CarouselPage::items_panel_property`](ferroui_controls::CarouselPage::items_panel_property).
2376    fn items_panel<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Panel>>>>, M>) -> Self {
2377        self.prop(<ferroui_controls::CarouselPage>::items_panel_property(), value)
2378    }
2379
2380    /// Sets [`CarouselPage::page_transition_property`](ferroui_controls::CarouselPage::page_transition_property).
2381    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
2382        self.prop(<ferroui_controls::CarouselPage>::page_transition_property(), value)
2383    }
2384
2385    /// Sets [`CarouselPage::is_gesture_enabled_property`](ferroui_controls::CarouselPage::is_gesture_enabled_property).
2386    fn is_gesture_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
2387        self.prop(<ferroui_controls::CarouselPage>::is_gesture_enabled_property(), value)
2388    }
2389
2390    /// Sets [`CarouselPage::is_keyboard_navigation_enabled_property`](ferroui_controls::CarouselPage::is_keyboard_navigation_enabled_property).
2391    fn is_keyboard_navigation_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
2392        self.prop(<ferroui_controls::CarouselPage>::is_keyboard_navigation_enabled_property(), value)
2393    }
2394}
2395impl<T: ObjectType + Upcast<ferroui_controls::CarouselPage>> CarouselPageProps for El<T> {}
2396
2397/// The properties and routed events of [`ColumnDefinition`](ferroui_controls::ColumnDefinition).
2398pub trait ColumnDefinitionProps: ElementBuilder {
2399    /// Sets [`ColumnDefinition::max_width_property`](ferroui_controls::ColumnDefinition::max_width_property).
2400    fn max_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
2401        self.prop(<ferroui_controls::ColumnDefinition>::max_width_property(), value)
2402    }
2403
2404    /// Sets [`ColumnDefinition::min_width_property`](ferroui_controls::ColumnDefinition::min_width_property).
2405    fn min_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
2406        self.prop(<ferroui_controls::ColumnDefinition>::min_width_property(), value)
2407    }
2408
2409    /// Sets [`ColumnDefinition::width_property`](ferroui_controls::ColumnDefinition::width_property).
2410    fn width<M>(self, value: impl IntoProp<ferroui_controls::GridLength, M>) -> Self {
2411        self.prop(<ferroui_controls::ColumnDefinition>::width_property(), value)
2412    }
2413}
2414impl<T: ObjectType + Upcast<ferroui_controls::ColumnDefinition>> ColumnDefinitionProps for El<T> {}
2415
2416/// The properties and routed events of [`CombinedGeometry`](ferroui_base::media::CombinedGeometry).
2417pub trait CombinedGeometryProps: ElementBuilder {
2418    /// Sets [`CombinedGeometry::geometry1_property`](ferroui_base::media::CombinedGeometry::geometry1_property).
2419    fn geometry1<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
2420        self.prop(<ferroui_base::media::CombinedGeometry>::geometry1_property(), value)
2421    }
2422
2423    /// Sets [`CombinedGeometry::geometry2_property`](ferroui_base::media::CombinedGeometry::geometry2_property).
2424    fn geometry2<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
2425        self.prop(<ferroui_base::media::CombinedGeometry>::geometry2_property(), value)
2426    }
2427
2428    /// Sets [`CombinedGeometry::geometry_combine_mode_property`](ferroui_base::media::CombinedGeometry::geometry_combine_mode_property).
2429    fn geometry_combine_mode<M>(self, value: impl IntoProp<ferroui_base::media::GeometryCombineMode, M>) -> Self {
2430        self.prop(<ferroui_base::media::CombinedGeometry>::geometry_combine_mode_property(), value)
2431    }
2432}
2433impl<T: ObjectType + Upcast<ferroui_base::media::CombinedGeometry>> CombinedGeometryProps for El<T> {}
2434
2435/// The properties and routed events of [`ComboBox`](ferroui_controls::ComboBox).
2436pub trait ComboBoxProps: ElementBuilder {
2437    /// Sets [`ComboBox::is_drop_down_open_property`](ferroui_controls::ComboBox::is_drop_down_open_property).
2438    fn is_drop_down_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
2439        self.prop(<ferroui_controls::ComboBox>::is_drop_down_open_property(), value)
2440    }
2441
2442    /// Sets [`ComboBox::is_editable_property`](ferroui_controls::ComboBox::is_editable_property).
2443    fn is_editable<M>(self, value: impl IntoProp<bool, M>) -> Self {
2444        self.prop(<ferroui_controls::ComboBox>::is_editable_property(), value)
2445    }
2446
2447    /// Sets [`ComboBox::max_drop_down_height_property`](ferroui_controls::ComboBox::max_drop_down_height_property).
2448    fn max_drop_down_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
2449        self.prop(<ferroui_controls::ComboBox>::max_drop_down_height_property(), value)
2450    }
2451
2452    /// Sets [`ComboBox::placeholder_text_property`](ferroui_controls::ComboBox::placeholder_text_property).
2453    fn placeholder_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2454        self.prop(<ferroui_controls::ComboBox>::placeholder_text_property(), value)
2455    }
2456
2457    /// Sets [`ComboBox::placeholder_foreground_property`](ferroui_controls::ComboBox::placeholder_foreground_property).
2458    fn placeholder_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2459        self.prop(<ferroui_controls::ComboBox>::placeholder_foreground_property(), value)
2460    }
2461
2462    /// Sets [`ComboBox::horizontal_content_alignment_property`](ferroui_controls::ComboBox::horizontal_content_alignment_property).
2463    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
2464        self.prop(<ferroui_controls::ComboBox>::horizontal_content_alignment_property(), value)
2465    }
2466
2467    /// Sets [`ComboBox::vertical_content_alignment_property`](ferroui_controls::ComboBox::vertical_content_alignment_property).
2468    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
2469        self.prop(<ferroui_controls::ComboBox>::vertical_content_alignment_property(), value)
2470    }
2471
2472    /// Sets [`ComboBox::text_property`](ferroui_controls::ComboBox::text_property).
2473    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2474        self.prop(<ferroui_controls::ComboBox>::text_property(), value)
2475    }
2476
2477    /// Sets [`ComboBox::selection_box_item_template_property`](ferroui_controls::ComboBox::selection_box_item_template_property).
2478    fn selection_box_item_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
2479        self.prop(<ferroui_controls::ComboBox>::selection_box_item_template_property(), value)
2480    }
2481}
2482impl<T: ObjectType + Upcast<ferroui_controls::ComboBox>> ComboBoxProps for El<T> {}
2483
2484/// The properties and routed events of [`CommandBar`](ferroui_controls::CommandBar).
2485pub trait CommandBarProps: ElementBuilder {
2486    /// Sets [`CommandBar::content_property`](ferroui_controls::CommandBar::content_property).
2487    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2488        self.prop(<ferroui_controls::CommandBar>::content_property(), value)
2489    }
2490
2491    /// Sets [`CommandBar::default_label_position_property`](ferroui_controls::CommandBar::default_label_position_property).
2492    fn default_label_position<M>(self, value: impl IntoProp<ferroui_controls::CommandBarDefaultLabelPosition, M>) -> Self {
2493        self.prop(<ferroui_controls::CommandBar>::default_label_position_property(), value)
2494    }
2495
2496    /// Sets [`CommandBar::is_dynamic_overflow_enabled_property`](ferroui_controls::CommandBar::is_dynamic_overflow_enabled_property).
2497    fn is_dynamic_overflow_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
2498        self.prop(<ferroui_controls::CommandBar>::is_dynamic_overflow_enabled_property(), value)
2499    }
2500
2501    /// Sets [`CommandBar::overflow_button_visibility_property`](ferroui_controls::CommandBar::overflow_button_visibility_property).
2502    fn overflow_button_visibility<M>(self, value: impl IntoProp<ferroui_controls::CommandBarOverflowButtonVisibility, M>) -> Self {
2503        self.prop(<ferroui_controls::CommandBar>::overflow_button_visibility_property(), value)
2504    }
2505
2506    /// Sets [`CommandBar::is_open_property`](ferroui_controls::CommandBar::is_open_property).
2507    fn is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
2508        self.prop(<ferroui_controls::CommandBar>::is_open_property(), value)
2509    }
2510
2511    /// Sets [`CommandBar::is_sticky_property`](ferroui_controls::CommandBar::is_sticky_property).
2512    fn is_sticky<M>(self, value: impl IntoProp<bool, M>) -> Self {
2513        self.prop(<ferroui_controls::CommandBar>::is_sticky_property(), value)
2514    }
2515
2516    /// Sets [`CommandBar::item_width_bottom_property`](ferroui_controls::CommandBar::item_width_bottom_property).
2517    fn item_width_bottom<M>(self, value: impl IntoProp<f64, M>) -> Self {
2518        self.prop(<ferroui_controls::CommandBar>::item_width_bottom_property(), value)
2519    }
2520
2521    /// Sets [`CommandBar::item_width_right_property`](ferroui_controls::CommandBar::item_width_right_property).
2522    fn item_width_right<M>(self, value: impl IntoProp<f64, M>) -> Self {
2523        self.prop(<ferroui_controls::CommandBar>::item_width_right_property(), value)
2524    }
2525
2526    /// Sets [`CommandBar::item_width_collapsed_property`](ferroui_controls::CommandBar::item_width_collapsed_property).
2527    fn item_width_collapsed<M>(self, value: impl IntoProp<f64, M>) -> Self {
2528        self.prop(<ferroui_controls::CommandBar>::item_width_collapsed_property(), value)
2529    }
2530
2531    /// Handles [`CommandBar::opening_event`](ferroui_controls::CommandBar::opening_event).
2532    fn on_opening(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2533        self.routed(<ferroui_controls::CommandBar>::opening_event(), move |_, e| handler(e))
2534    }
2535
2536    /// Handles [`CommandBar::opened_event`](ferroui_controls::CommandBar::opened_event).
2537    fn on_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2538        self.routed(<ferroui_controls::CommandBar>::opened_event(), move |_, e| handler(e))
2539    }
2540
2541    /// Handles [`CommandBar::closing_event`](ferroui_controls::CommandBar::closing_event).
2542    fn on_closing(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2543        self.routed(<ferroui_controls::CommandBar>::closing_event(), move |_, e| handler(e))
2544    }
2545
2546    /// Handles [`CommandBar::closed_event`](ferroui_controls::CommandBar::closed_event).
2547    fn on_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2548        self.routed(<ferroui_controls::CommandBar>::closed_event(), move |_, e| handler(e))
2549    }
2550}
2551impl<T: ObjectType + Upcast<ferroui_controls::CommandBar>> CommandBarProps for El<T> {}
2552
2553/// The properties and routed events of [`CommandBarButton`](ferroui_controls::CommandBarButton).
2554pub trait CommandBarButtonProps: ElementBuilder {
2555    /// Sets [`CommandBarButton::label_property`](ferroui_controls::CommandBarButton::label_property).
2556    fn label<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2557        self.prop(<ferroui_controls::CommandBarButton>::label_property(), value)
2558    }
2559
2560    /// Sets [`CommandBarButton::icon_property`](ferroui_controls::CommandBarButton::icon_property).
2561    fn icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2562        self.prop(<ferroui_controls::CommandBarButton>::icon_property(), value)
2563    }
2564
2565    /// Sets [`CommandBarButton::is_compact_property`](ferroui_controls::CommandBarButton::is_compact_property).
2566    fn is_compact<M>(self, value: impl IntoProp<bool, M>) -> Self {
2567        self.prop(<ferroui_controls::CommandBarButton>::is_compact_property(), value)
2568    }
2569
2570    /// Sets [`CommandBarButton::dynamic_overflow_order_property`](ferroui_controls::CommandBarButton::dynamic_overflow_order_property).
2571    fn dynamic_overflow_order<M>(self, value: impl IntoProp<i32, M>) -> Self {
2572        self.prop(<ferroui_controls::CommandBarButton>::dynamic_overflow_order_property(), value)
2573    }
2574
2575    /// Sets [`CommandBarButton::label_position_property`](ferroui_controls::CommandBarButton::label_position_property).
2576    fn label_position<M>(self, value: impl IntoProp<ferroui_controls::CommandBarDefaultLabelPosition, M>) -> Self {
2577        self.prop(<ferroui_controls::CommandBarButton>::label_position_property(), value)
2578    }
2579
2580    /// Sets [`CommandBarButton::is_in_overflow_property`](ferroui_controls::CommandBarButton::is_in_overflow_property).
2581    fn is_in_overflow<M>(self, value: impl IntoProp<bool, M>) -> Self {
2582        self.prop(<ferroui_controls::CommandBarButton>::is_in_overflow_property(), value)
2583    }
2584}
2585impl<T: ObjectType + Upcast<ferroui_controls::CommandBarButton>> CommandBarButtonProps for El<T> {}
2586
2587/// The properties and routed events of [`CommandBarSeparator`](ferroui_controls::CommandBarSeparator).
2588pub trait CommandBarSeparatorProps: ElementBuilder {
2589    /// Sets [`CommandBarSeparator::is_compact_property`](ferroui_controls::CommandBarSeparator::is_compact_property).
2590    fn is_compact<M>(self, value: impl IntoProp<bool, M>) -> Self {
2591        self.prop(<ferroui_controls::CommandBarSeparator>::is_compact_property(), value)
2592    }
2593
2594    /// Sets [`CommandBarSeparator::is_in_overflow_property`](ferroui_controls::CommandBarSeparator::is_in_overflow_property).
2595    fn is_in_overflow<M>(self, value: impl IntoProp<bool, M>) -> Self {
2596        self.prop(<ferroui_controls::CommandBarSeparator>::is_in_overflow_property(), value)
2597    }
2598}
2599impl<T: ObjectType + Upcast<ferroui_controls::CommandBarSeparator>> CommandBarSeparatorProps for El<T> {}
2600
2601/// The properties and routed events of [`CommandBarToggleButton`](ferroui_controls::CommandBarToggleButton).
2602pub trait CommandBarToggleButtonProps: ElementBuilder {
2603    /// Sets [`CommandBarToggleButton::label_property`](ferroui_controls::CommandBarToggleButton::label_property).
2604    fn label<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
2605        self.prop(<ferroui_controls::CommandBarToggleButton>::label_property(), value)
2606    }
2607
2608    /// Sets [`CommandBarToggleButton::icon_property`](ferroui_controls::CommandBarToggleButton::icon_property).
2609    fn icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2610        self.prop(<ferroui_controls::CommandBarToggleButton>::icon_property(), value)
2611    }
2612
2613    /// Sets [`CommandBarToggleButton::is_compact_property`](ferroui_controls::CommandBarToggleButton::is_compact_property).
2614    fn is_compact<M>(self, value: impl IntoProp<bool, M>) -> Self {
2615        self.prop(<ferroui_controls::CommandBarToggleButton>::is_compact_property(), value)
2616    }
2617
2618    /// Sets [`CommandBarToggleButton::dynamic_overflow_order_property`](ferroui_controls::CommandBarToggleButton::dynamic_overflow_order_property).
2619    fn dynamic_overflow_order<M>(self, value: impl IntoProp<i32, M>) -> Self {
2620        self.prop(<ferroui_controls::CommandBarToggleButton>::dynamic_overflow_order_property(), value)
2621    }
2622
2623    /// Sets [`CommandBarToggleButton::label_position_property`](ferroui_controls::CommandBarToggleButton::label_position_property).
2624    fn label_position<M>(self, value: impl IntoProp<ferroui_controls::CommandBarDefaultLabelPosition, M>) -> Self {
2625        self.prop(<ferroui_controls::CommandBarToggleButton>::label_position_property(), value)
2626    }
2627
2628    /// Sets [`CommandBarToggleButton::is_in_overflow_property`](ferroui_controls::CommandBarToggleButton::is_in_overflow_property).
2629    fn is_in_overflow<M>(self, value: impl IntoProp<bool, M>) -> Self {
2630        self.prop(<ferroui_controls::CommandBarToggleButton>::is_in_overflow_property(), value)
2631    }
2632}
2633impl<T: ObjectType + Upcast<ferroui_controls::CommandBarToggleButton>> CommandBarToggleButtonProps for El<T> {}
2634
2635/// The properties and routed events of [`ConicGradientBrush`](ferroui_base::media::ConicGradientBrush).
2636pub trait ConicGradientBrushProps: ElementBuilder {
2637    /// Sets [`ConicGradientBrush::center_property`](ferroui_base::media::ConicGradientBrush::center_property).
2638    fn center<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
2639        self.prop(<ferroui_base::media::ConicGradientBrush>::center_property(), value)
2640    }
2641
2642    /// Sets [`ConicGradientBrush::angle_property`](ferroui_base::media::ConicGradientBrush::angle_property).
2643    fn angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
2644        self.prop(<ferroui_base::media::ConicGradientBrush>::angle_property(), value)
2645    }
2646}
2647impl<T: ObjectType + Upcast<ferroui_base::media::ConicGradientBrush>> ConicGradientBrushProps for El<T> {}
2648
2649/// The properties and routed events of [`ContentControl`](ferroui_controls::ContentControl).
2650pub trait ContentControlProps: ElementBuilder {
2651    /// Sets [`ContentControl::content_property`](ferroui_controls::ContentControl::content_property).
2652    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2653        self.prop(<ferroui_controls::ContentControl>::content_property(), value)
2654    }
2655
2656    /// Sets [`ContentControl::content_template_property`](ferroui_controls::ContentControl::content_template_property).
2657    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
2658        self.prop(<ferroui_controls::ContentControl>::content_template_property(), value)
2659    }
2660
2661    /// Sets [`ContentControl::horizontal_content_alignment_property`](ferroui_controls::ContentControl::horizontal_content_alignment_property).
2662    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
2663        self.prop(<ferroui_controls::ContentControl>::horizontal_content_alignment_property(), value)
2664    }
2665
2666    /// Sets [`ContentControl::vertical_content_alignment_property`](ferroui_controls::ContentControl::vertical_content_alignment_property).
2667    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
2668        self.prop(<ferroui_controls::ContentControl>::vertical_content_alignment_property(), value)
2669    }
2670}
2671impl<T: ObjectType + Upcast<ferroui_controls::ContentControl>> ContentControlProps for El<T> {}
2672
2673/// The properties and routed events of [`ContentPage`](ferroui_controls::ContentPage).
2674pub trait ContentPageProps: ElementBuilder {
2675    /// Sets [`ContentPage::content_property`](ferroui_controls::ContentPage::content_property).
2676    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2677        self.prop(<ferroui_controls::ContentPage>::content_property(), value)
2678    }
2679
2680    /// Sets [`ContentPage::content_template_property`](ferroui_controls::ContentPage::content_template_property).
2681    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
2682        self.prop(<ferroui_controls::ContentPage>::content_template_property(), value)
2683    }
2684
2685    /// Sets [`ContentPage::automatically_apply_safe_area_padding_property`](ferroui_controls::ContentPage::automatically_apply_safe_area_padding_property).
2686    fn automatically_apply_safe_area_padding<M>(self, value: impl IntoProp<bool, M>) -> Self {
2687        self.prop(<ferroui_controls::ContentPage>::automatically_apply_safe_area_padding_property(), value)
2688    }
2689
2690    /// Sets [`ContentPage::top_command_bar_property`](ferroui_controls::ContentPage::top_command_bar_property).
2691    fn top_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2692        self.prop(<ferroui_controls::ContentPage>::top_command_bar_property(), value)
2693    }
2694
2695    /// Sets [`ContentPage::bottom_command_bar_property`](ferroui_controls::ContentPage::bottom_command_bar_property).
2696    fn bottom_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2697        self.prop(<ferroui_controls::ContentPage>::bottom_command_bar_property(), value)
2698    }
2699
2700    /// Sets [`ContentPage::horizontal_content_alignment_property`](ferroui_controls::ContentPage::horizontal_content_alignment_property).
2701    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
2702        self.prop(<ferroui_controls::ContentPage>::horizontal_content_alignment_property(), value)
2703    }
2704
2705    /// Sets [`ContentPage::vertical_content_alignment_property`](ferroui_controls::ContentPage::vertical_content_alignment_property).
2706    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
2707        self.prop(<ferroui_controls::ContentPage>::vertical_content_alignment_property(), value)
2708    }
2709}
2710impl<T: ObjectType + Upcast<ferroui_controls::ContentPage>> ContentPageProps for El<T> {}
2711
2712/// The properties and routed events of [`ContentPresenter`](ferroui_controls::presenters::ContentPresenter).
2713pub trait ContentPresenterProps: ElementBuilder {
2714    /// Sets [`ContentPresenter::background_property`](ferroui_controls::presenters::ContentPresenter::background_property).
2715    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2716        self.prop(<ferroui_controls::presenters::ContentPresenter>::background_property(), value)
2717    }
2718
2719    /// Sets [`ContentPresenter::background_sizing_property`](ferroui_controls::presenters::ContentPresenter::background_sizing_property).
2720    fn background_sizing<M>(self, value: impl IntoProp<ferroui_base::media::BackgroundSizing, M>) -> Self {
2721        self.prop(<ferroui_controls::presenters::ContentPresenter>::background_sizing_property(), value)
2722    }
2723
2724    /// Sets [`ContentPresenter::border_brush_property`](ferroui_controls::presenters::ContentPresenter::border_brush_property).
2725    fn border_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2726        self.prop(<ferroui_controls::presenters::ContentPresenter>::border_brush_property(), value)
2727    }
2728
2729    /// Sets [`ContentPresenter::border_thickness_property`](ferroui_controls::presenters::ContentPresenter::border_thickness_property).
2730    fn border_thickness<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
2731        self.prop(<ferroui_controls::presenters::ContentPresenter>::border_thickness_property(), value)
2732    }
2733
2734    /// Sets [`ContentPresenter::corner_radius_property`](ferroui_controls::presenters::ContentPresenter::corner_radius_property).
2735    fn corner_radius<M>(self, value: impl IntoProp<ferroui_base::CornerRadius, M>) -> Self {
2736        self.prop(<ferroui_controls::presenters::ContentPresenter>::corner_radius_property(), value)
2737    }
2738
2739    /// Sets [`ContentPresenter::box_shadow_property`](ferroui_controls::presenters::ContentPresenter::box_shadow_property).
2740    fn box_shadow<M>(self, value: impl IntoProp<ferroui_base::media::BoxShadows, M>) -> Self {
2741        self.prop(<ferroui_controls::presenters::ContentPresenter>::box_shadow_property(), value)
2742    }
2743
2744    /// Sets [`ContentPresenter::foreground_property`](ferroui_controls::presenters::ContentPresenter::foreground_property).
2745    fn foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
2746        self.prop(<ferroui_controls::presenters::ContentPresenter>::foreground_property(), value)
2747    }
2748
2749    /// Sets [`ContentPresenter::font_family_property`](ferroui_controls::presenters::ContentPresenter::font_family_property).
2750    fn font_family<M>(self, value: impl IntoProp<ferroui_base::media::FontFamily, M>) -> Self {
2751        self.prop(<ferroui_controls::presenters::ContentPresenter>::font_family_property(), value)
2752    }
2753
2754    /// Sets [`ContentPresenter::font_size_property`](ferroui_controls::presenters::ContentPresenter::font_size_property).
2755    fn font_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
2756        self.prop(<ferroui_controls::presenters::ContentPresenter>::font_size_property(), value)
2757    }
2758
2759    /// Sets [`ContentPresenter::font_style_property`](ferroui_controls::presenters::ContentPresenter::font_style_property).
2760    fn font_style<M>(self, value: impl IntoProp<ferroui_base::media::FontStyle, M>) -> Self {
2761        self.prop(<ferroui_controls::presenters::ContentPresenter>::font_style_property(), value)
2762    }
2763
2764    /// Sets [`ContentPresenter::font_weight_property`](ferroui_controls::presenters::ContentPresenter::font_weight_property).
2765    fn font_weight<M>(self, value: impl IntoProp<ferroui_base::media::FontWeight, M>) -> Self {
2766        self.prop(<ferroui_controls::presenters::ContentPresenter>::font_weight_property(), value)
2767    }
2768
2769    /// Sets [`ContentPresenter::font_stretch_property`](ferroui_controls::presenters::ContentPresenter::font_stretch_property).
2770    fn font_stretch<M>(self, value: impl IntoProp<ferroui_base::media::FontStretch, M>) -> Self {
2771        self.prop(<ferroui_controls::presenters::ContentPresenter>::font_stretch_property(), value)
2772    }
2773
2774    /// Sets [`ContentPresenter::text_alignment_property`](ferroui_controls::presenters::ContentPresenter::text_alignment_property).
2775    fn text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
2776        self.prop(<ferroui_controls::presenters::ContentPresenter>::text_alignment_property(), value)
2777    }
2778
2779    /// Sets [`ContentPresenter::text_wrapping_property`](ferroui_controls::presenters::ContentPresenter::text_wrapping_property).
2780    fn text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
2781        self.prop(<ferroui_controls::presenters::ContentPresenter>::text_wrapping_property(), value)
2782    }
2783
2784    /// Sets [`ContentPresenter::text_trimming_property`](ferroui_controls::presenters::ContentPresenter::text_trimming_property).
2785    fn text_trimming<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_base::media::TextTrimming>, M>) -> Self {
2786        self.prop(<ferroui_controls::presenters::ContentPresenter>::text_trimming_property(), value)
2787    }
2788
2789    /// Sets [`ContentPresenter::line_height_property`](ferroui_controls::presenters::ContentPresenter::line_height_property).
2790    fn line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
2791        self.prop(<ferroui_controls::presenters::ContentPresenter>::line_height_property(), value)
2792    }
2793
2794    /// Sets [`ContentPresenter::letter_spacing_property`](ferroui_controls::presenters::ContentPresenter::letter_spacing_property).
2795    fn letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
2796        self.prop(<ferroui_controls::presenters::ContentPresenter>::letter_spacing_property(), value)
2797    }
2798
2799    /// Sets [`ContentPresenter::max_lines_property`](ferroui_controls::presenters::ContentPresenter::max_lines_property).
2800    fn max_lines<M>(self, value: impl IntoProp<i32, M>) -> Self {
2801        self.prop(<ferroui_controls::presenters::ContentPresenter>::max_lines_property(), value)
2802    }
2803
2804    /// Sets [`ContentPresenter::content_property`](ferroui_controls::presenters::ContentPresenter::content_property).
2805    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2806        self.prop(<ferroui_controls::presenters::ContentPresenter>::content_property(), value)
2807    }
2808
2809    /// Sets [`ContentPresenter::content_template_property`](ferroui_controls::presenters::ContentPresenter::content_template_property).
2810    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
2811        self.prop(<ferroui_controls::presenters::ContentPresenter>::content_template_property(), value)
2812    }
2813
2814    /// Sets [`ContentPresenter::horizontal_content_alignment_property`](ferroui_controls::presenters::ContentPresenter::horizontal_content_alignment_property).
2815    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
2816        self.prop(<ferroui_controls::presenters::ContentPresenter>::horizontal_content_alignment_property(), value)
2817    }
2818
2819    /// Sets [`ContentPresenter::vertical_content_alignment_property`](ferroui_controls::presenters::ContentPresenter::vertical_content_alignment_property).
2820    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
2821        self.prop(<ferroui_controls::presenters::ContentPresenter>::vertical_content_alignment_property(), value)
2822    }
2823
2824    /// Sets [`ContentPresenter::padding_property`](ferroui_controls::presenters::ContentPresenter::padding_property).
2825    fn padding<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
2826        self.prop(<ferroui_controls::presenters::ContentPresenter>::padding_property(), value)
2827    }
2828
2829    /// Sets [`ContentPresenter::recognizes_access_key_property`](ferroui_controls::presenters::ContentPresenter::recognizes_access_key_property).
2830    fn recognizes_access_key<M>(self, value: impl IntoProp<bool, M>) -> Self {
2831        self.prop(<ferroui_controls::presenters::ContentPresenter>::recognizes_access_key_property(), value)
2832    }
2833}
2834impl<T: ObjectType + Upcast<ferroui_controls::presenters::ContentPresenter>> ContentPresenterProps for El<T> {}
2835
2836/// The properties and routed events of [`ContextMenu`](ferroui_controls::ContextMenu).
2837pub trait ContextMenuProps: ElementBuilder {
2838    /// Sets [`ContextMenu::horizontal_offset_property`](ferroui_controls::ContextMenu::horizontal_offset_property).
2839    fn horizontal_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
2840        self.prop(<ferroui_controls::ContextMenu>::horizontal_offset_property(), value)
2841    }
2842
2843    /// Sets [`ContextMenu::vertical_offset_property`](ferroui_controls::ContextMenu::vertical_offset_property).
2844    fn vertical_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
2845        self.prop(<ferroui_controls::ContextMenu>::vertical_offset_property(), value)
2846    }
2847
2848    /// Sets [`ContextMenu::placement_anchor_property`](ferroui_controls::ContextMenu::placement_anchor_property).
2849    fn placement_anchor<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupAnchor, M>) -> Self {
2850        self.prop(<ferroui_controls::ContextMenu>::placement_anchor_property(), value)
2851    }
2852
2853    /// Sets [`ContextMenu::placement_constraint_adjustment_property`](ferroui_controls::ContextMenu::placement_constraint_adjustment_property).
2854    fn placement_constraint_adjustment<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupPositionerConstraintAdjustment, M>) -> Self {
2855        self.prop(<ferroui_controls::ContextMenu>::placement_constraint_adjustment_property(), value)
2856    }
2857
2858    /// Sets [`ContextMenu::placement_gravity_property`](ferroui_controls::ContextMenu::placement_gravity_property).
2859    fn placement_gravity<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupGravity, M>) -> Self {
2860        self.prop(<ferroui_controls::ContextMenu>::placement_gravity_property(), value)
2861    }
2862
2863    /// Sets [`ContextMenu::placement_property`](ferroui_controls::ContextMenu::placement_property).
2864    fn placement<M>(self, value: impl IntoProp<ferroui_controls::PlacementMode, M>) -> Self {
2865        self.prop(<ferroui_controls::ContextMenu>::placement_property(), value)
2866    }
2867
2868    /// Sets [`ContextMenu::placement_rect_property`](ferroui_controls::ContextMenu::placement_rect_property).
2869    fn placement_rect<M>(self, value: impl IntoProp<Option<ferroui_base::Rect>, M>) -> Self {
2870        self.prop(<ferroui_controls::ContextMenu>::placement_rect_property(), value)
2871    }
2872
2873    /// Sets [`ContextMenu::window_manager_add_shadow_hint_property`](ferroui_controls::ContextMenu::window_manager_add_shadow_hint_property).
2874    fn window_manager_add_shadow_hint<M>(self, value: impl IntoProp<bool, M>) -> Self {
2875        self.prop(<ferroui_controls::ContextMenu>::window_manager_add_shadow_hint_property(), value)
2876    }
2877
2878    /// Sets [`ContextMenu::custom_popup_placement_callback_property`](ferroui_controls::ContextMenu::custom_popup_placement_callback_property).
2879    fn custom_popup_placement_callback<M>(self, value: impl IntoProp<Option<ferroui_controls::primitives::CustomPopupPlacementCallbackValue>, M>) -> Self {
2880        self.prop(<ferroui_controls::ContextMenu>::custom_popup_placement_callback_property(), value)
2881    }
2882}
2883impl<T: ObjectType + Upcast<ferroui_controls::ContextMenu>> ContextMenuProps for El<T> {}
2884
2885/// The properties and routed events of [`Control`](ferroui_controls::Control).
2886pub trait ControlProps: ElementBuilder {
2887    /// Sets [`Control::focus_adorner_property`](ferroui_controls::Control::focus_adorner_property).
2888    fn focus_adorner<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Control>>>>>, M>) -> Self {
2889        self.prop(<ferroui_controls::Control>::focus_adorner_property(), value)
2890    }
2891
2892    /// Sets [`Control::tag_property`](ferroui_controls::Control::tag_property).
2893    fn tag<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
2894        self.prop(<ferroui_controls::Control>::tag_property(), value)
2895    }
2896
2897    /// Sets [`Control::context_menu_property`](ferroui_controls::Control::context_menu_property).
2898    fn context_menu<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::ContextMenu>>, M>) -> Self {
2899        self.prop(<ferroui_controls::Control>::context_menu_property(), value)
2900    }
2901
2902    /// Sets [`Control::context_flyout_property`](ferroui_controls::Control::context_flyout_property).
2903    fn context_flyout<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::FlyoutBase>>, M>) -> Self {
2904        self.prop(<ferroui_controls::Control>::context_flyout_property(), value)
2905    }
2906
2907    /// Handles [`Control::request_bring_into_view_event`](ferroui_controls::Control::request_bring_into_view_event).
2908    fn on_request_bring_into_view(self, handler: impl Fn(&ferroui_controls::RequestBringIntoViewEventArgs) + 'static) -> Self {
2909        self.routed(<ferroui_controls::Control>::request_bring_into_view_event(), move |_, e| handler(e))
2910    }
2911
2912    /// Handles [`Control::loaded_event`](ferroui_controls::Control::loaded_event).
2913    fn on_loaded(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2914        self.routed(<ferroui_controls::Control>::loaded_event(), move |_, e| handler(e))
2915    }
2916
2917    /// Handles [`Control::unloaded_event`](ferroui_controls::Control::unloaded_event).
2918    fn on_unloaded(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
2919        self.routed(<ferroui_controls::Control>::unloaded_event(), move |_, e| handler(e))
2920    }
2921
2922    /// Handles [`Control::size_changed_event`](ferroui_controls::Control::size_changed_event).
2923    fn on_size_changed(self, handler: impl Fn(&ferroui_controls::SizeChangedEventArgs) + 'static) -> Self {
2924        self.routed(<ferroui_controls::Control>::size_changed_event(), move |_, e| handler(e))
2925    }
2926}
2927impl<T: ObjectType + Upcast<ferroui_controls::Control>> ControlProps for El<T> {}
2928
2929/// The properties and routed events of [`CroppedBitmap`](ferroui_base::media::imaging::CroppedBitmap).
2930pub trait CroppedBitmapProps: ElementBuilder {
2931    /// Sets [`CroppedBitmap::source_property`](ferroui_base::media::imaging::CroppedBitmap::source_property).
2932    fn source<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IImage>>, M>) -> Self {
2933        self.prop(<ferroui_base::media::imaging::CroppedBitmap>::source_property(), value)
2934    }
2935
2936    /// Sets [`CroppedBitmap::source_rect_property`](ferroui_base::media::imaging::CroppedBitmap::source_rect_property).
2937    fn source_rect<M>(self, value: impl IntoProp<ferroui_base::PixelRect, M>) -> Self {
2938        self.prop(<ferroui_base::media::imaging::CroppedBitmap>::source_rect_property(), value)
2939    }
2940}
2941impl<T: ObjectType + Upcast<ferroui_base::media::imaging::CroppedBitmap>> CroppedBitmapProps for El<T> {}
2942
2943/// The properties and routed events of [`DashStyle`](ferroui_base::media::DashStyle).
2944pub trait DashStyleProps: ElementBuilder {
2945    /// Sets [`DashStyle::dashes_property`](ferroui_base::media::DashStyle::dashes_property).
2946    fn dashes<M>(self, value: impl IntoProp<Option<ferroui_base::media::MediaCollection<f64>>, M>) -> Self {
2947        self.prop(<ferroui_base::media::DashStyle>::dashes_property(), value)
2948    }
2949
2950    /// Sets [`DashStyle::offset_property`](ferroui_base::media::DashStyle::offset_property).
2951    fn offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
2952        self.prop(<ferroui_base::media::DashStyle>::offset_property(), value)
2953    }
2954}
2955impl<T: ObjectType + Upcast<ferroui_base::media::DashStyle>> DashStyleProps for El<T> {}
2956
2957/// The properties and routed events of [`DataValidationErrors`](ferroui_controls::DataValidationErrors).
2958pub trait DataValidationErrorsProps: ElementBuilder {
2959    /// Sets [`DataValidationErrors::errors_property`](ferroui_controls::DataValidationErrors::errors_property).
2960    fn errors<M>(self, value: impl IntoProp<Option<Vec<ferroui_base::BoxedValue>>, M>) -> Self {
2961        self.prop(<ferroui_controls::DataValidationErrors>::errors_property(), value)
2962    }
2963
2964    /// Sets [`DataValidationErrors::has_errors_property`](ferroui_controls::DataValidationErrors::has_errors_property).
2965    fn has_errors<M>(self, value: impl IntoProp<bool, M>) -> Self {
2966        self.prop(<ferroui_controls::DataValidationErrors>::has_errors_property(), value)
2967    }
2968
2969    /// Sets [`DataValidationErrors::error_template_property`](ferroui_controls::DataValidationErrors::error_template_property).
2970    fn error_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
2971        self.prop(<ferroui_controls::DataValidationErrors>::error_template_property(), value)
2972    }
2973}
2974impl<T: ObjectType + Upcast<ferroui_controls::DataValidationErrors>> DataValidationErrorsProps for El<T> {}
2975
2976/// The properties and routed events of [`DatePicker`](ferroui_controls::DatePicker).
2977pub trait DatePickerProps: ElementBuilder {
2978    /// Sets [`DatePicker::day_format_property`](ferroui_controls::DatePicker::day_format_property).
2979    fn day_format<M>(self, value: impl IntoProp<String, M>) -> Self {
2980        self.prop(<ferroui_controls::DatePicker>::day_format_property(), value)
2981    }
2982
2983    /// Sets [`DatePicker::day_visible_property`](ferroui_controls::DatePicker::day_visible_property).
2984    fn day_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
2985        self.prop(<ferroui_controls::DatePicker>::day_visible_property(), value)
2986    }
2987
2988    /// Sets [`DatePicker::max_year_property`](ferroui_controls::DatePicker::max_year_property).
2989    fn max_year<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTimeOffset, M>) -> Self {
2990        self.prop(<ferroui_controls::DatePicker>::max_year_property(), value)
2991    }
2992
2993    /// Sets [`DatePicker::min_year_property`](ferroui_controls::DatePicker::min_year_property).
2994    fn min_year<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTimeOffset, M>) -> Self {
2995        self.prop(<ferroui_controls::DatePicker>::min_year_property(), value)
2996    }
2997
2998    /// Sets [`DatePicker::month_format_property`](ferroui_controls::DatePicker::month_format_property).
2999    fn month_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3000        self.prop(<ferroui_controls::DatePicker>::month_format_property(), value)
3001    }
3002
3003    /// Sets [`DatePicker::month_visible_property`](ferroui_controls::DatePicker::month_visible_property).
3004    fn month_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3005        self.prop(<ferroui_controls::DatePicker>::month_visible_property(), value)
3006    }
3007
3008    /// Sets [`DatePicker::year_format_property`](ferroui_controls::DatePicker::year_format_property).
3009    fn year_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3010        self.prop(<ferroui_controls::DatePicker>::year_format_property(), value)
3011    }
3012
3013    /// Sets [`DatePicker::year_visible_property`](ferroui_controls::DatePicker::year_visible_property).
3014    fn year_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3015        self.prop(<ferroui_controls::DatePicker>::year_visible_property(), value)
3016    }
3017
3018    /// Sets [`DatePicker::vertical_content_alignment_property`](ferroui_controls::DatePicker::vertical_content_alignment_property).
3019    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
3020        self.prop(<ferroui_controls::DatePicker>::vertical_content_alignment_property(), value)
3021    }
3022
3023    /// Sets [`DatePicker::selected_date_property`](ferroui_controls::DatePicker::selected_date_property).
3024    fn selected_date<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::DateTimeOffset>, M>) -> Self {
3025        self.prop(<ferroui_controls::DatePicker>::selected_date_property(), value)
3026    }
3027}
3028impl<T: ObjectType + Upcast<ferroui_controls::DatePicker>> DatePickerProps for El<T> {}
3029
3030/// The properties and routed events of [`DatePickerPresenter`](ferroui_controls::DatePickerPresenter).
3031pub trait DatePickerPresenterProps: ElementBuilder {
3032    /// Sets [`DatePickerPresenter::date_property`](ferroui_controls::DatePickerPresenter::date_property).
3033    fn date<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTimeOffset, M>) -> Self {
3034        self.prop(<ferroui_controls::DatePickerPresenter>::date_property(), value)
3035    }
3036
3037    /// Sets [`DatePickerPresenter::day_format_property`](ferroui_controls::DatePickerPresenter::day_format_property).
3038    fn day_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3039        self.prop(<ferroui_controls::DatePickerPresenter>::day_format_property(), value)
3040    }
3041
3042    /// Sets [`DatePickerPresenter::day_visible_property`](ferroui_controls::DatePickerPresenter::day_visible_property).
3043    fn day_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3044        self.prop(<ferroui_controls::DatePickerPresenter>::day_visible_property(), value)
3045    }
3046
3047    /// Sets [`DatePickerPresenter::max_year_property`](ferroui_controls::DatePickerPresenter::max_year_property).
3048    fn max_year<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTimeOffset, M>) -> Self {
3049        self.prop(<ferroui_controls::DatePickerPresenter>::max_year_property(), value)
3050    }
3051
3052    /// Sets [`DatePickerPresenter::min_year_property`](ferroui_controls::DatePickerPresenter::min_year_property).
3053    fn min_year<M>(self, value: impl IntoProp<ferroui_base::utilities::DateTimeOffset, M>) -> Self {
3054        self.prop(<ferroui_controls::DatePickerPresenter>::min_year_property(), value)
3055    }
3056
3057    /// Sets [`DatePickerPresenter::month_format_property`](ferroui_controls::DatePickerPresenter::month_format_property).
3058    fn month_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3059        self.prop(<ferroui_controls::DatePickerPresenter>::month_format_property(), value)
3060    }
3061
3062    /// Sets [`DatePickerPresenter::month_visible_property`](ferroui_controls::DatePickerPresenter::month_visible_property).
3063    fn month_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3064        self.prop(<ferroui_controls::DatePickerPresenter>::month_visible_property(), value)
3065    }
3066
3067    /// Sets [`DatePickerPresenter::year_format_property`](ferroui_controls::DatePickerPresenter::year_format_property).
3068    fn year_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3069        self.prop(<ferroui_controls::DatePickerPresenter>::year_format_property(), value)
3070    }
3071
3072    /// Sets [`DatePickerPresenter::year_visible_property`](ferroui_controls::DatePickerPresenter::year_visible_property).
3073    fn year_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3074        self.prop(<ferroui_controls::DatePickerPresenter>::year_visible_property(), value)
3075    }
3076}
3077impl<T: ObjectType + Upcast<ferroui_controls::DatePickerPresenter>> DatePickerPresenterProps for El<T> {}
3078
3079/// The properties and routed events of [`DateTimePickerPanel`](ferroui_controls::date_time_pickers::DateTimePickerPanel).
3080pub trait DateTimePickerPanelProps: ElementBuilder {
3081    /// Sets [`DateTimePickerPanel::item_height_property`](ferroui_controls::date_time_pickers::DateTimePickerPanel::item_height_property).
3082    fn item_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
3083        self.prop(<ferroui_controls::date_time_pickers::DateTimePickerPanel>::item_height_property(), value)
3084    }
3085
3086    /// Sets [`DateTimePickerPanel::panel_type_property`](ferroui_controls::date_time_pickers::DateTimePickerPanel::panel_type_property).
3087    fn panel_type<M>(self, value: impl IntoProp<ferroui_controls::date_time_pickers::DateTimePickerPanelType, M>) -> Self {
3088        self.prop(<ferroui_controls::date_time_pickers::DateTimePickerPanel>::panel_type_property(), value)
3089    }
3090
3091    /// Sets [`DateTimePickerPanel::item_format_property`](ferroui_controls::date_time_pickers::DateTimePickerPanel::item_format_property).
3092    fn item_format<M>(self, value: impl IntoProp<String, M>) -> Self {
3093        self.prop(<ferroui_controls::date_time_pickers::DateTimePickerPanel>::item_format_property(), value)
3094    }
3095
3096    /// Sets [`DateTimePickerPanel::should_loop_property`](ferroui_controls::date_time_pickers::DateTimePickerPanel::should_loop_property).
3097    fn should_loop<M>(self, value: impl IntoProp<bool, M>) -> Self {
3098        self.prop(<ferroui_controls::date_time_pickers::DateTimePickerPanel>::should_loop_property(), value)
3099    }
3100}
3101impl<T: ObjectType + Upcast<ferroui_controls::date_time_pickers::DateTimePickerPanel>> DateTimePickerPanelProps for El<T> {}
3102
3103/// The properties and routed events of [`Decorator`](ferroui_controls::Decorator).
3104pub trait DecoratorProps: ElementBuilder {
3105    /// Sets [`Decorator::padding_property`](ferroui_controls::Decorator::padding_property).
3106    fn padding<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
3107        self.prop(<ferroui_controls::Decorator>::padding_property(), value)
3108    }
3109}
3110impl<T: ObjectType + Upcast<ferroui_controls::Decorator>> DecoratorProps for El<T> {}
3111
3112/// The properties and routed events of [`DefinitionBase`](ferroui_controls::DefinitionBase).
3113pub trait DefinitionBaseProps: ElementBuilder {
3114    /// Sets [`DefinitionBase::shared_size_group_property`](ferroui_controls::DefinitionBase::shared_size_group_property).
3115    fn shared_size_group<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
3116        self.prop(<ferroui_controls::DefinitionBase>::shared_size_group_property(), value)
3117    }
3118}
3119impl<T: ObjectType + Upcast<ferroui_controls::DefinitionBase>> DefinitionBaseProps for El<T> {}
3120
3121/// The properties and routed events of [`DockPanel`](ferroui_controls::DockPanel).
3122pub trait DockPanelProps: ElementBuilder {
3123    /// Sets [`DockPanel::dock_property`](ferroui_controls::DockPanel::dock_property).
3124    fn dock<M>(self, value: impl IntoProp<ferroui_controls::Dock, M>) -> Self {
3125        self.prop(<ferroui_controls::DockPanel>::dock_property(), value)
3126    }
3127
3128    /// Sets [`DockPanel::last_child_fill_property`](ferroui_controls::DockPanel::last_child_fill_property).
3129    fn last_child_fill<M>(self, value: impl IntoProp<bool, M>) -> Self {
3130        self.prop(<ferroui_controls::DockPanel>::last_child_fill_property(), value)
3131    }
3132
3133    /// Sets [`DockPanel::horizontal_spacing_property`](ferroui_controls::DockPanel::horizontal_spacing_property).
3134    fn horizontal_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3135        self.prop(<ferroui_controls::DockPanel>::horizontal_spacing_property(), value)
3136    }
3137
3138    /// Sets [`DockPanel::vertical_spacing_property`](ferroui_controls::DockPanel::vertical_spacing_property).
3139    fn vertical_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3140        self.prop(<ferroui_controls::DockPanel>::vertical_spacing_property(), value)
3141    }
3142}
3143impl<T: ObjectType + Upcast<ferroui_controls::DockPanel>> DockPanelProps for El<T> {}
3144
3145/// The properties and routed events of [`DrawerPage`](ferroui_controls::DrawerPage).
3146pub trait DrawerPageProps: ElementBuilder {
3147    /// Sets [`DrawerPage::drawer_property`](ferroui_controls::DrawerPage::drawer_property).
3148    fn drawer<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3149        self.prop(<ferroui_controls::DrawerPage>::drawer_property(), value)
3150    }
3151
3152    /// Sets [`DrawerPage::content_property`](ferroui_controls::DrawerPage::content_property).
3153    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3154        self.prop(<ferroui_controls::DrawerPage>::content_property(), value)
3155    }
3156
3157    /// Sets [`DrawerPage::is_open_property`](ferroui_controls::DrawerPage::is_open_property).
3158    fn is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
3159        self.prop(<ferroui_controls::DrawerPage>::is_open_property(), value)
3160    }
3161
3162    /// Sets [`DrawerPage::drawer_length_property`](ferroui_controls::DrawerPage::drawer_length_property).
3163    fn drawer_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
3164        self.prop(<ferroui_controls::DrawerPage>::drawer_length_property(), value)
3165    }
3166
3167    /// Sets [`DrawerPage::compact_drawer_length_property`](ferroui_controls::DrawerPage::compact_drawer_length_property).
3168    fn compact_drawer_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
3169        self.prop(<ferroui_controls::DrawerPage>::compact_drawer_length_property(), value)
3170    }
3171
3172    /// Sets [`DrawerPage::drawer_breakpoint_length_property`](ferroui_controls::DrawerPage::drawer_breakpoint_length_property).
3173    fn drawer_breakpoint_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
3174        self.prop(<ferroui_controls::DrawerPage>::drawer_breakpoint_length_property(), value)
3175    }
3176
3177    /// Sets [`DrawerPage::is_gesture_enabled_property`](ferroui_controls::DrawerPage::is_gesture_enabled_property).
3178    fn is_gesture_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
3179        self.prop(<ferroui_controls::DrawerPage>::is_gesture_enabled_property(), value)
3180    }
3181
3182    /// Sets [`DrawerPage::drawer_behavior_property`](ferroui_controls::DrawerPage::drawer_behavior_property).
3183    fn drawer_behavior<M>(self, value: impl IntoProp<ferroui_controls::DrawerBehavior, M>) -> Self {
3184        self.prop(<ferroui_controls::DrawerPage>::drawer_behavior_property(), value)
3185    }
3186
3187    /// Sets [`DrawerPage::drawer_layout_behavior_property`](ferroui_controls::DrawerPage::drawer_layout_behavior_property).
3188    fn drawer_layout_behavior<M>(self, value: impl IntoProp<ferroui_controls::DrawerLayoutBehavior, M>) -> Self {
3189        self.prop(<ferroui_controls::DrawerPage>::drawer_layout_behavior_property(), value)
3190    }
3191
3192    /// Sets [`DrawerPage::drawer_placement_property`](ferroui_controls::DrawerPage::drawer_placement_property).
3193    fn drawer_placement<M>(self, value: impl IntoProp<ferroui_controls::DrawerPlacement, M>) -> Self {
3194        self.prop(<ferroui_controls::DrawerPage>::drawer_placement_property(), value)
3195    }
3196
3197    /// Sets [`DrawerPage::drawer_header_property`](ferroui_controls::DrawerPage::drawer_header_property).
3198    fn drawer_header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3199        self.prop(<ferroui_controls::DrawerPage>::drawer_header_property(), value)
3200    }
3201
3202    /// Sets [`DrawerPage::drawer_footer_property`](ferroui_controls::DrawerPage::drawer_footer_property).
3203    fn drawer_footer<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3204        self.prop(<ferroui_controls::DrawerPage>::drawer_footer_property(), value)
3205    }
3206
3207    /// Sets [`DrawerPage::drawer_header_template_property`](ferroui_controls::DrawerPage::drawer_header_template_property).
3208    fn drawer_header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3209        self.prop(<ferroui_controls::DrawerPage>::drawer_header_template_property(), value)
3210    }
3211
3212    /// Sets [`DrawerPage::drawer_footer_template_property`](ferroui_controls::DrawerPage::drawer_footer_template_property).
3213    fn drawer_footer_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3214        self.prop(<ferroui_controls::DrawerPage>::drawer_footer_template_property(), value)
3215    }
3216
3217    /// Sets [`DrawerPage::drawer_icon_property`](ferroui_controls::DrawerPage::drawer_icon_property).
3218    fn drawer_icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3219        self.prop(<ferroui_controls::DrawerPage>::drawer_icon_property(), value)
3220    }
3221
3222    /// Sets [`DrawerPage::drawer_icon_template_property`](ferroui_controls::DrawerPage::drawer_icon_template_property).
3223    fn drawer_icon_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3224        self.prop(<ferroui_controls::DrawerPage>::drawer_icon_template_property(), value)
3225    }
3226
3227    /// Sets [`DrawerPage::drawer_template_property`](ferroui_controls::DrawerPage::drawer_template_property).
3228    fn drawer_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3229        self.prop(<ferroui_controls::DrawerPage>::drawer_template_property(), value)
3230    }
3231
3232    /// Sets [`DrawerPage::content_template_property`](ferroui_controls::DrawerPage::content_template_property).
3233    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3234        self.prop(<ferroui_controls::DrawerPage>::content_template_property(), value)
3235    }
3236
3237    /// Sets [`DrawerPage::drawer_background_property`](ferroui_controls::DrawerPage::drawer_background_property).
3238    fn drawer_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3239        self.prop(<ferroui_controls::DrawerPage>::drawer_background_property(), value)
3240    }
3241
3242    /// Sets [`DrawerPage::drawer_header_background_property`](ferroui_controls::DrawerPage::drawer_header_background_property).
3243    fn drawer_header_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3244        self.prop(<ferroui_controls::DrawerPage>::drawer_header_background_property(), value)
3245    }
3246
3247    /// Sets [`DrawerPage::drawer_header_foreground_property`](ferroui_controls::DrawerPage::drawer_header_foreground_property).
3248    fn drawer_header_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3249        self.prop(<ferroui_controls::DrawerPage>::drawer_header_foreground_property(), value)
3250    }
3251
3252    /// Sets [`DrawerPage::drawer_footer_background_property`](ferroui_controls::DrawerPage::drawer_footer_background_property).
3253    fn drawer_footer_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3254        self.prop(<ferroui_controls::DrawerPage>::drawer_footer_background_property(), value)
3255    }
3256
3257    /// Sets [`DrawerPage::drawer_footer_foreground_property`](ferroui_controls::DrawerPage::drawer_footer_foreground_property).
3258    fn drawer_footer_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3259        self.prop(<ferroui_controls::DrawerPage>::drawer_footer_foreground_property(), value)
3260    }
3261
3262    /// Sets [`DrawerPage::backdrop_brush_property`](ferroui_controls::DrawerPage::backdrop_brush_property).
3263    fn backdrop_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3264        self.prop(<ferroui_controls::DrawerPage>::backdrop_brush_property(), value)
3265    }
3266
3267    /// Sets [`DrawerPage::horizontal_content_alignment_property`](ferroui_controls::DrawerPage::horizontal_content_alignment_property).
3268    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
3269        self.prop(<ferroui_controls::DrawerPage>::horizontal_content_alignment_property(), value)
3270    }
3271
3272    /// Sets [`DrawerPage::vertical_content_alignment_property`](ferroui_controls::DrawerPage::vertical_content_alignment_property).
3273    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
3274        self.prop(<ferroui_controls::DrawerPage>::vertical_content_alignment_property(), value)
3275    }
3276
3277    /// Sets [`DrawerPage::display_mode_property`](ferroui_controls::DrawerPage::display_mode_property).
3278    fn display_mode<M>(self, value: impl IntoProp<ferroui_controls::SplitViewDisplayMode, M>) -> Self {
3279        self.prop(<ferroui_controls::DrawerPage>::display_mode_property(), value)
3280    }
3281
3282    /// Handles [`DrawerPage::opened_event`](ferroui_controls::DrawerPage::opened_event).
3283    fn on_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
3284        self.routed(<ferroui_controls::DrawerPage>::opened_event(), move |_, e| handler(e))
3285    }
3286
3287    /// Handles [`DrawerPage::closed_event`](ferroui_controls::DrawerPage::closed_event).
3288    fn on_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
3289        self.routed(<ferroui_controls::DrawerPage>::closed_event(), move |_, e| handler(e))
3290    }
3291}
3292impl<T: ObjectType + Upcast<ferroui_controls::DrawerPage>> DrawerPageProps for El<T> {}
3293
3294/// The properties and routed events of [`DrawingBrush`](ferroui_base::media::DrawingBrush).
3295pub trait DrawingBrushProps: ElementBuilder {
3296    /// Sets [`DrawingBrush::drawing_property`](ferroui_base::media::DrawingBrush::drawing_property).
3297    fn drawing<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Drawing>>, M>) -> Self {
3298        self.prop(<ferroui_base::media::DrawingBrush>::drawing_property(), value)
3299    }
3300}
3301impl<T: ObjectType + Upcast<ferroui_base::media::DrawingBrush>> DrawingBrushProps for El<T> {}
3302
3303/// The properties and routed events of [`DrawingGroup`](ferroui_base::media::DrawingGroup).
3304pub trait DrawingGroupProps: ElementBuilder {
3305    /// Sets [`DrawingGroup::opacity_property`](ferroui_base::media::DrawingGroup::opacity_property).
3306    fn opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
3307        self.prop(<ferroui_base::media::DrawingGroup>::opacity_property(), value)
3308    }
3309
3310    /// Sets [`DrawingGroup::transform_property`](ferroui_base::media::DrawingGroup::transform_property).
3311    fn transform<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Transform>>, M>) -> Self {
3312        self.prop(<ferroui_base::media::DrawingGroup>::transform_property(), value)
3313    }
3314
3315    /// Sets [`DrawingGroup::clip_geometry_property`](ferroui_base::media::DrawingGroup::clip_geometry_property).
3316    fn clip_geometry<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
3317        self.prop(<ferroui_base::media::DrawingGroup>::clip_geometry_property(), value)
3318    }
3319
3320    /// Sets [`DrawingGroup::opacity_mask_property`](ferroui_base::media::DrawingGroup::opacity_mask_property).
3321    fn opacity_mask<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3322        self.prop(<ferroui_base::media::DrawingGroup>::opacity_mask_property(), value)
3323    }
3324
3325    /// Sets [`DrawingGroup::effect_property`](ferroui_base::media::DrawingGroup::effect_property).
3326    fn effect<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IEffect>>, M>) -> Self {
3327        self.prop(<ferroui_base::media::DrawingGroup>::effect_property(), value)
3328    }
3329}
3330impl<T: ObjectType + Upcast<ferroui_base::media::DrawingGroup>> DrawingGroupProps for El<T> {}
3331
3332/// The properties and routed events of [`DrawingImage`](ferroui_base::media::DrawingImage).
3333pub trait DrawingImageProps: ElementBuilder {
3334    /// Sets [`DrawingImage::drawing_property`](ferroui_base::media::DrawingImage::drawing_property).
3335    fn drawing<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Drawing>>, M>) -> Self {
3336        self.prop(<ferroui_base::media::DrawingImage>::drawing_property(), value)
3337    }
3338
3339    /// Sets [`DrawingImage::viewbox_property`](ferroui_base::media::DrawingImage::viewbox_property).
3340    fn viewbox<M>(self, value: impl IntoProp<Option<ferroui_base::Rect>, M>) -> Self {
3341        self.prop(<ferroui_base::media::DrawingImage>::viewbox_property(), value)
3342    }
3343}
3344impl<T: ObjectType + Upcast<ferroui_base::media::DrawingImage>> DrawingImageProps for El<T> {}
3345
3346/// The properties and routed events of [`DropShadowDirectionEffect`](ferroui_base::media::DropShadowDirectionEffect).
3347pub trait DropShadowDirectionEffectProps: ElementBuilder {
3348    /// Sets [`DropShadowDirectionEffect::shadow_depth_property`](ferroui_base::media::DropShadowDirectionEffect::shadow_depth_property).
3349    fn shadow_depth<M>(self, value: impl IntoProp<f64, M>) -> Self {
3350        self.prop(<ferroui_base::media::DropShadowDirectionEffect>::shadow_depth_property(), value)
3351    }
3352
3353    /// Sets [`DropShadowDirectionEffect::direction_property`](ferroui_base::media::DropShadowDirectionEffect::direction_property).
3354    fn direction<M>(self, value: impl IntoProp<f64, M>) -> Self {
3355        self.prop(<ferroui_base::media::DropShadowDirectionEffect>::direction_property(), value)
3356    }
3357}
3358impl<T: ObjectType + Upcast<ferroui_base::media::DropShadowDirectionEffect>> DropShadowDirectionEffectProps for El<T> {}
3359
3360/// The properties and routed events of [`DropShadowEffect`](ferroui_base::media::DropShadowEffect).
3361pub trait DropShadowEffectProps: ElementBuilder {
3362    /// Sets [`DropShadowEffect::offset_x_property`](ferroui_base::media::DropShadowEffect::offset_x_property).
3363    fn offset_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
3364        self.prop(<ferroui_base::media::DropShadowEffect>::offset_x_property(), value)
3365    }
3366
3367    /// Sets [`DropShadowEffect::offset_y_property`](ferroui_base::media::DropShadowEffect::offset_y_property).
3368    fn offset_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
3369        self.prop(<ferroui_base::media::DropShadowEffect>::offset_y_property(), value)
3370    }
3371}
3372impl<T: ObjectType + Upcast<ferroui_base::media::DropShadowEffect>> DropShadowEffectProps for El<T> {}
3373
3374/// The properties and routed events of [`DropShadowEffectBase`](ferroui_base::media::DropShadowEffectBase).
3375pub trait DropShadowEffectBaseProps: ElementBuilder {
3376    /// Sets [`DropShadowEffectBase::blur_radius_property`](ferroui_base::media::DropShadowEffectBase::blur_radius_property).
3377    fn blur_radius<M>(self, value: impl IntoProp<f64, M>) -> Self {
3378        self.prop(<ferroui_base::media::DropShadowEffectBase>::blur_radius_property(), value)
3379    }
3380
3381    /// Sets [`DropShadowEffectBase::color_property`](ferroui_base::media::DropShadowEffectBase::color_property).
3382    fn color<M>(self, value: impl IntoProp<ferroui_base::media::Color, M>) -> Self {
3383        self.prop(<ferroui_base::media::DropShadowEffectBase>::color_property(), value)
3384    }
3385
3386    /// Sets [`DropShadowEffectBase::opacity_property`](ferroui_base::media::DropShadowEffectBase::opacity_property).
3387    fn opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
3388        self.prop(<ferroui_base::media::DropShadowEffectBase>::opacity_property(), value)
3389    }
3390}
3391impl<T: ObjectType + Upcast<ferroui_base::media::DropShadowEffectBase>> DropShadowEffectBaseProps for El<T> {}
3392
3393/// The properties and routed events of [`EllipseGeometry`](ferroui_base::media::EllipseGeometry).
3394pub trait EllipseGeometryProps: ElementBuilder {
3395    /// Sets [`EllipseGeometry::rect_property`](ferroui_base::media::EllipseGeometry::rect_property).
3396    fn rect<M>(self, value: impl IntoProp<ferroui_base::Rect, M>) -> Self {
3397        self.prop(<ferroui_base::media::EllipseGeometry>::rect_property(), value)
3398    }
3399
3400    /// Sets [`EllipseGeometry::radius_x_property`](ferroui_base::media::EllipseGeometry::radius_x_property).
3401    fn radius_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
3402        self.prop(<ferroui_base::media::EllipseGeometry>::radius_x_property(), value)
3403    }
3404
3405    /// Sets [`EllipseGeometry::radius_y_property`](ferroui_base::media::EllipseGeometry::radius_y_property).
3406    fn radius_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
3407        self.prop(<ferroui_base::media::EllipseGeometry>::radius_y_property(), value)
3408    }
3409
3410    /// Sets [`EllipseGeometry::center_property`](ferroui_base::media::EllipseGeometry::center_property).
3411    fn center<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
3412        self.prop(<ferroui_base::media::EllipseGeometry>::center_property(), value)
3413    }
3414}
3415impl<T: ObjectType + Upcast<ferroui_base::media::EllipseGeometry>> EllipseGeometryProps for El<T> {}
3416
3417/// The properties and routed events of [`Expander`](ferroui_controls::Expander).
3418pub trait ExpanderProps: ElementBuilder {
3419    /// Sets [`Expander::content_transition_property`](ferroui_controls::Expander::content_transition_property).
3420    fn content_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
3421        self.prop(<ferroui_controls::Expander>::content_transition_property(), value)
3422    }
3423
3424    /// Sets [`Expander::expand_direction_property`](ferroui_controls::Expander::expand_direction_property).
3425    fn expand_direction<M>(self, value: impl IntoProp<ferroui_controls::ExpandDirection, M>) -> Self {
3426        self.prop(<ferroui_controls::Expander>::expand_direction_property(), value)
3427    }
3428
3429    /// Sets [`Expander::is_expanded_property`](ferroui_controls::Expander::is_expanded_property).
3430    fn is_expanded<M>(self, value: impl IntoProp<bool, M>) -> Self {
3431        self.prop(<ferroui_controls::Expander>::is_expanded_property(), value)
3432    }
3433
3434    /// Handles [`Expander::collapsed_event`](ferroui_controls::Expander::collapsed_event).
3435    fn on_collapsed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
3436        self.routed(<ferroui_controls::Expander>::collapsed_event(), move |_, e| handler(e))
3437    }
3438
3439    /// Handles [`Expander::expanded_event`](ferroui_controls::Expander::expanded_event).
3440    fn on_expanded(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
3441        self.routed(<ferroui_controls::Expander>::expanded_event(), move |_, e| handler(e))
3442    }
3443}
3444impl<T: ObjectType + Upcast<ferroui_controls::Expander>> ExpanderProps for El<T> {}
3445
3446/// The properties and routed events of [`ExperimentalAcrylicBorder`](ferroui_controls::ExperimentalAcrylicBorder).
3447pub trait ExperimentalAcrylicBorderProps: ElementBuilder {
3448    /// Sets [`ExperimentalAcrylicBorder::corner_radius_property`](ferroui_controls::ExperimentalAcrylicBorder::corner_radius_property).
3449    fn corner_radius<M>(self, value: impl IntoProp<ferroui_base::CornerRadius, M>) -> Self {
3450        self.prop(<ferroui_controls::ExperimentalAcrylicBorder>::corner_radius_property(), value)
3451    }
3452
3453    /// Sets [`ExperimentalAcrylicBorder::material_property`](ferroui_controls::ExperimentalAcrylicBorder::material_property).
3454    fn material<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::ExperimentalAcrylicMaterial>>, M>) -> Self {
3455        self.prop(<ferroui_controls::ExperimentalAcrylicBorder>::material_property(), value)
3456    }
3457}
3458impl<T: ObjectType + Upcast<ferroui_controls::ExperimentalAcrylicBorder>> ExperimentalAcrylicBorderProps for El<T> {}
3459
3460/// The properties and routed events of [`ExperimentalAcrylicMaterial`](ferroui_base::media::ExperimentalAcrylicMaterial).
3461pub trait ExperimentalAcrylicMaterialProps: ElementBuilder {
3462    /// Sets [`ExperimentalAcrylicMaterial::tint_color_property`](ferroui_base::media::ExperimentalAcrylicMaterial::tint_color_property).
3463    fn tint_color<M>(self, value: impl IntoProp<ferroui_base::media::Color, M>) -> Self {
3464        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::tint_color_property(), value)
3465    }
3466
3467    /// Sets [`ExperimentalAcrylicMaterial::background_source_property`](ferroui_base::media::ExperimentalAcrylicMaterial::background_source_property).
3468    fn background_source<M>(self, value: impl IntoProp<ferroui_base::media::AcrylicBackgroundSource, M>) -> Self {
3469        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::background_source_property(), value)
3470    }
3471
3472    /// Sets [`ExperimentalAcrylicMaterial::tint_opacity_property`](ferroui_base::media::ExperimentalAcrylicMaterial::tint_opacity_property).
3473    fn tint_opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
3474        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::tint_opacity_property(), value)
3475    }
3476
3477    /// Sets [`ExperimentalAcrylicMaterial::material_opacity_property`](ferroui_base::media::ExperimentalAcrylicMaterial::material_opacity_property).
3478    fn material_opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
3479        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::material_opacity_property(), value)
3480    }
3481
3482    /// Sets [`ExperimentalAcrylicMaterial::platform_transparency_compensation_level_property`](ferroui_base::media::ExperimentalAcrylicMaterial::platform_transparency_compensation_level_property).
3483    fn platform_transparency_compensation_level<M>(self, value: impl IntoProp<f64, M>) -> Self {
3484        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::platform_transparency_compensation_level_property(), value)
3485    }
3486
3487    /// Sets [`ExperimentalAcrylicMaterial::fallback_color_property`](ferroui_base::media::ExperimentalAcrylicMaterial::fallback_color_property).
3488    fn fallback_color<M>(self, value: impl IntoProp<ferroui_base::media::Color, M>) -> Self {
3489        self.prop(<ferroui_base::media::ExperimentalAcrylicMaterial>::fallback_color_property(), value)
3490    }
3491}
3492impl<T: ObjectType + Upcast<ferroui_base::media::ExperimentalAcrylicMaterial>> ExperimentalAcrylicMaterialProps for El<T> {}
3493
3494/// The properties and routed events of [`FlexPanel`](ferroui_controls::FlexPanel).
3495pub trait FlexPanelProps: ElementBuilder {
3496    /// Sets [`FlexPanel::direction_property`](ferroui_controls::FlexPanel::direction_property).
3497    fn direction<M>(self, value: impl IntoProp<ferroui_controls::FlexDirection, M>) -> Self {
3498        self.prop(<ferroui_controls::FlexPanel>::direction_property(), value)
3499    }
3500
3501    /// Sets [`FlexPanel::justify_content_property`](ferroui_controls::FlexPanel::justify_content_property).
3502    fn justify_content<M>(self, value: impl IntoProp<ferroui_controls::FlexJustifyContent, M>) -> Self {
3503        self.prop(<ferroui_controls::FlexPanel>::justify_content_property(), value)
3504    }
3505
3506    /// Sets [`FlexPanel::align_items_property`](ferroui_controls::FlexPanel::align_items_property).
3507    fn align_items<M>(self, value: impl IntoProp<ferroui_controls::FlexAlignItems, M>) -> Self {
3508        self.prop(<ferroui_controls::FlexPanel>::align_items_property(), value)
3509    }
3510
3511    /// Sets [`FlexPanel::align_content_property`](ferroui_controls::FlexPanel::align_content_property).
3512    fn align_content<M>(self, value: impl IntoProp<ferroui_controls::FlexAlignContent, M>) -> Self {
3513        self.prop(<ferroui_controls::FlexPanel>::align_content_property(), value)
3514    }
3515
3516    /// Sets [`FlexPanel::wrap_property`](ferroui_controls::FlexPanel::wrap_property).
3517    fn wrap<M>(self, value: impl IntoProp<ferroui_controls::FlexWrap, M>) -> Self {
3518        self.prop(<ferroui_controls::FlexPanel>::wrap_property(), value)
3519    }
3520
3521    /// Sets [`FlexPanel::column_spacing_property`](ferroui_controls::FlexPanel::column_spacing_property).
3522    fn column_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3523        self.prop(<ferroui_controls::FlexPanel>::column_spacing_property(), value)
3524    }
3525
3526    /// Sets [`FlexPanel::row_spacing_property`](ferroui_controls::FlexPanel::row_spacing_property).
3527    fn row_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3528        self.prop(<ferroui_controls::FlexPanel>::row_spacing_property(), value)
3529    }
3530}
3531impl<T: ObjectType + Upcast<ferroui_controls::FlexPanel>> FlexPanelProps for El<T> {}
3532
3533/// The properties and routed events of [`Flyout`](ferroui_controls::Flyout).
3534pub trait FlyoutProps: ElementBuilder {
3535    /// Sets [`Flyout::content_property`](ferroui_controls::Flyout::content_property).
3536    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3537        self.prop(<ferroui_controls::Flyout>::content_property(), value)
3538    }
3539
3540    /// Sets [`Flyout::content_template_property`](ferroui_controls::Flyout::content_template_property).
3541    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3542        self.prop(<ferroui_controls::Flyout>::content_template_property(), value)
3543    }
3544
3545    /// Sets [`Flyout::flyout_presenter_theme_property`](ferroui_controls::Flyout::flyout_presenter_theme_property).
3546    fn flyout_presenter_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
3547        self.prop(<ferroui_controls::Flyout>::flyout_presenter_theme_property(), value)
3548    }
3549}
3550impl<T: ObjectType + Upcast<ferroui_controls::Flyout>> FlyoutProps for El<T> {}
3551
3552/// The properties and routed events of [`FlyoutBase`](ferroui_controls::primitives::FlyoutBase).
3553pub trait FlyoutBaseProps: ElementBuilder {
3554    /// Sets [`FlyoutBase::is_open_property`](ferroui_controls::primitives::FlyoutBase::is_open_property).
3555    fn is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
3556        self.prop(<ferroui_controls::primitives::FlyoutBase>::is_open_property(), value)
3557    }
3558
3559    /// Sets [`FlyoutBase::attached_flyout_property`](ferroui_controls::primitives::FlyoutBase::attached_flyout_property).
3560    fn attached_flyout<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::FlyoutBase>>, M>) -> Self {
3561        self.prop(<ferroui_controls::primitives::FlyoutBase>::attached_flyout_property(), value)
3562    }
3563}
3564impl<T: ObjectType + Upcast<ferroui_controls::primitives::FlyoutBase>> FlyoutBaseProps for El<T> {}
3565
3566/// The properties and routed events of [`Geometry`](ferroui_base::media::Geometry).
3567pub trait GeometryProps: ElementBuilder {
3568    /// Sets [`Geometry::transform_property`](ferroui_base::media::Geometry::transform_property).
3569    fn transform<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Transform>>, M>) -> Self {
3570        self.prop(<ferroui_base::media::Geometry>::transform_property(), value)
3571    }
3572}
3573impl<T: ObjectType + Upcast<ferroui_base::media::Geometry>> GeometryProps for El<T> {}
3574
3575/// The properties and routed events of [`GeometryDrawing`](ferroui_base::media::GeometryDrawing).
3576pub trait GeometryDrawingProps: ElementBuilder {
3577    /// Sets [`GeometryDrawing::geometry_property`](ferroui_base::media::GeometryDrawing::geometry_property).
3578    fn geometry<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
3579        self.prop(<ferroui_base::media::GeometryDrawing>::geometry_property(), value)
3580    }
3581
3582    /// Sets [`GeometryDrawing::brush_property`](ferroui_base::media::GeometryDrawing::brush_property).
3583    fn brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3584        self.prop(<ferroui_base::media::GeometryDrawing>::brush_property(), value)
3585    }
3586
3587    /// Sets [`GeometryDrawing::pen_property`](ferroui_base::media::GeometryDrawing::pen_property).
3588    fn pen<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IPen>>, M>) -> Self {
3589        self.prop(<ferroui_base::media::GeometryDrawing>::pen_property(), value)
3590    }
3591}
3592impl<T: ObjectType + Upcast<ferroui_base::media::GeometryDrawing>> GeometryDrawingProps for El<T> {}
3593
3594/// The properties and routed events of [`GeometryGroup`](ferroui_base::media::GeometryGroup).
3595pub trait GeometryGroupProps: ElementBuilder {
3596    /// Sets [`GeometryGroup::fill_rule_property`](ferroui_base::media::GeometryGroup::fill_rule_property).
3597    fn fill_rule<M>(self, value: impl IntoProp<ferroui_base::media::FillRule, M>) -> Self {
3598        self.prop(<ferroui_base::media::GeometryGroup>::fill_rule_property(), value)
3599    }
3600}
3601impl<T: ObjectType + Upcast<ferroui_base::media::GeometryGroup>> GeometryGroupProps for El<T> {}
3602
3603/// The properties and routed events of [`GlyphRunDrawing`](ferroui_base::media::GlyphRunDrawing).
3604pub trait GlyphRunDrawingProps: ElementBuilder {
3605    /// Sets [`GlyphRunDrawing::foreground_property`](ferroui_base::media::GlyphRunDrawing::foreground_property).
3606    fn foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
3607        self.prop(<ferroui_base::media::GlyphRunDrawing>::foreground_property(), value)
3608    }
3609}
3610impl<T: ObjectType + Upcast<ferroui_base::media::GlyphRunDrawing>> GlyphRunDrawingProps for El<T> {}
3611
3612/// The properties and routed events of [`GradientBrush`](ferroui_base::media::GradientBrush).
3613pub trait GradientBrushProps: ElementBuilder {
3614    /// Sets [`GradientBrush::spread_method_property`](ferroui_base::media::GradientBrush::spread_method_property).
3615    fn spread_method<M>(self, value: impl IntoProp<ferroui_base::media::GradientSpreadMethod, M>) -> Self {
3616        self.prop(<ferroui_base::media::GradientBrush>::spread_method_property(), value)
3617    }
3618
3619    /// Sets [`GradientBrush::gradient_stops_property`](ferroui_base::media::GradientBrush::gradient_stops_property).
3620    fn gradient_stops<M>(self, value: impl IntoProp<Option<ferroui_base::media::GradientStops>, M>) -> Self {
3621        self.prop(<ferroui_base::media::GradientBrush>::gradient_stops_property(), value)
3622    }
3623}
3624impl<T: ObjectType + Upcast<ferroui_base::media::GradientBrush>> GradientBrushProps for El<T> {}
3625
3626/// The properties and routed events of [`GradientStop`](ferroui_base::media::GradientStop).
3627pub trait GradientStopProps: ElementBuilder {
3628    /// Sets [`GradientStop::offset_property`](ferroui_base::media::GradientStop::offset_property).
3629    fn offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
3630        self.prop(<ferroui_base::media::GradientStop>::offset_property(), value)
3631    }
3632
3633    /// Sets [`GradientStop::color_property`](ferroui_base::media::GradientStop::color_property).
3634    fn color<M>(self, value: impl IntoProp<ferroui_base::media::Color, M>) -> Self {
3635        self.prop(<ferroui_base::media::GradientStop>::color_property(), value)
3636    }
3637}
3638impl<T: ObjectType + Upcast<ferroui_base::media::GradientStop>> GradientStopProps for El<T> {}
3639
3640/// The properties and routed events of [`Grid`](ferroui_controls::Grid).
3641pub trait GridProps: ElementBuilder {
3642    /// Sets [`Grid::show_grid_lines_property`](ferroui_controls::Grid::show_grid_lines_property).
3643    fn show_grid_lines<M>(self, value: impl IntoProp<bool, M>) -> Self {
3644        self.prop(<ferroui_controls::Grid>::show_grid_lines_property(), value)
3645    }
3646
3647    /// Sets [`Grid::row_spacing_property`](ferroui_controls::Grid::row_spacing_property).
3648    fn row_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3649        self.prop(<ferroui_controls::Grid>::row_spacing_property(), value)
3650    }
3651
3652    /// Sets [`Grid::column_spacing_property`](ferroui_controls::Grid::column_spacing_property).
3653    fn column_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
3654        self.prop(<ferroui_controls::Grid>::column_spacing_property(), value)
3655    }
3656
3657    /// Sets [`Grid::column_property`](ferroui_controls::Grid::column_property).
3658    fn column<M>(self, value: impl IntoProp<i32, M>) -> Self {
3659        self.prop(<ferroui_controls::Grid>::column_property(), value)
3660    }
3661
3662    /// Sets [`Grid::row_property`](ferroui_controls::Grid::row_property).
3663    fn row<M>(self, value: impl IntoProp<i32, M>) -> Self {
3664        self.prop(<ferroui_controls::Grid>::row_property(), value)
3665    }
3666
3667    /// Sets [`Grid::column_span_property`](ferroui_controls::Grid::column_span_property).
3668    fn column_span<M>(self, value: impl IntoProp<i32, M>) -> Self {
3669        self.prop(<ferroui_controls::Grid>::column_span_property(), value)
3670    }
3671
3672    /// Sets [`Grid::row_span_property`](ferroui_controls::Grid::row_span_property).
3673    fn row_span<M>(self, value: impl IntoProp<i32, M>) -> Self {
3674        self.prop(<ferroui_controls::Grid>::row_span_property(), value)
3675    }
3676
3677    /// Sets [`Grid::is_shared_size_scope_property`](ferroui_controls::Grid::is_shared_size_scope_property).
3678    fn is_shared_size_scope<M>(self, value: impl IntoProp<bool, M>) -> Self {
3679        self.prop(<ferroui_controls::Grid>::is_shared_size_scope_property(), value)
3680    }
3681}
3682impl<T: ObjectType + Upcast<ferroui_controls::Grid>> GridProps for El<T> {}
3683
3684/// The properties and routed events of [`GridSplitter`](ferroui_controls::GridSplitter).
3685pub trait GridSplitterProps: ElementBuilder {
3686    /// Sets [`GridSplitter::resize_direction_property`](ferroui_controls::GridSplitter::resize_direction_property).
3687    fn resize_direction<M>(self, value: impl IntoProp<ferroui_controls::GridResizeDirection, M>) -> Self {
3688        self.prop(<ferroui_controls::GridSplitter>::resize_direction_property(), value)
3689    }
3690
3691    /// Sets [`GridSplitter::resize_behavior_property`](ferroui_controls::GridSplitter::resize_behavior_property).
3692    fn resize_behavior<M>(self, value: impl IntoProp<ferroui_controls::GridResizeBehavior, M>) -> Self {
3693        self.prop(<ferroui_controls::GridSplitter>::resize_behavior_property(), value)
3694    }
3695
3696    /// Sets [`GridSplitter::shows_preview_property`](ferroui_controls::GridSplitter::shows_preview_property).
3697    fn shows_preview<M>(self, value: impl IntoProp<bool, M>) -> Self {
3698        self.prop(<ferroui_controls::GridSplitter>::shows_preview_property(), value)
3699    }
3700
3701    /// Sets [`GridSplitter::keyboard_increment_property`](ferroui_controls::GridSplitter::keyboard_increment_property).
3702    fn keyboard_increment<M>(self, value: impl IntoProp<f64, M>) -> Self {
3703        self.prop(<ferroui_controls::GridSplitter>::keyboard_increment_property(), value)
3704    }
3705
3706    /// Sets [`GridSplitter::drag_increment_property`](ferroui_controls::GridSplitter::drag_increment_property).
3707    fn drag_increment<M>(self, value: impl IntoProp<f64, M>) -> Self {
3708        self.prop(<ferroui_controls::GridSplitter>::drag_increment_property(), value)
3709    }
3710
3711    /// Sets [`GridSplitter::preview_content_property`](ferroui_controls::GridSplitter::preview_content_property).
3712    fn preview_content<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::ITemplateOf<ferroui_base::Ref<ferroui_controls::Control>>>>, M>) -> Self {
3713        self.prop(<ferroui_controls::GridSplitter>::preview_content_property(), value)
3714    }
3715}
3716impl<T: ObjectType + Upcast<ferroui_controls::GridSplitter>> GridSplitterProps for El<T> {}
3717
3718/// The properties and routed events of [`HeaderedContentControl`](ferroui_controls::primitives::HeaderedContentControl).
3719pub trait HeaderedContentControlProps: ElementBuilder {
3720    /// Sets [`HeaderedContentControl::header_property`](ferroui_controls::primitives::HeaderedContentControl::header_property).
3721    fn header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3722        self.prop(<ferroui_controls::primitives::HeaderedContentControl>::header_property(), value)
3723    }
3724
3725    /// Sets [`HeaderedContentControl::header_template_property`](ferroui_controls::primitives::HeaderedContentControl::header_template_property).
3726    fn header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3727        self.prop(<ferroui_controls::primitives::HeaderedContentControl>::header_template_property(), value)
3728    }
3729}
3730impl<T: ObjectType + Upcast<ferroui_controls::primitives::HeaderedContentControl>> HeaderedContentControlProps for El<T> {}
3731
3732/// The properties and routed events of [`HeaderedItemsControl`](ferroui_controls::primitives::HeaderedItemsControl).
3733pub trait HeaderedItemsControlProps: ElementBuilder {
3734    /// Sets [`HeaderedItemsControl::header_property`](ferroui_controls::primitives::HeaderedItemsControl::header_property).
3735    fn header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3736        self.prop(<ferroui_controls::primitives::HeaderedItemsControl>::header_property(), value)
3737    }
3738
3739    /// Sets [`HeaderedItemsControl::header_template_property`](ferroui_controls::primitives::HeaderedItemsControl::header_template_property).
3740    fn header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3741        self.prop(<ferroui_controls::primitives::HeaderedItemsControl>::header_template_property(), value)
3742    }
3743}
3744impl<T: ObjectType + Upcast<ferroui_controls::primitives::HeaderedItemsControl>> HeaderedItemsControlProps for El<T> {}
3745
3746/// The properties and routed events of [`HeaderedSelectingItemsControl`](ferroui_controls::primitives::HeaderedSelectingItemsControl).
3747pub trait HeaderedSelectingItemsControlProps: ElementBuilder {
3748    /// Sets [`HeaderedSelectingItemsControl::header_property`](ferroui_controls::primitives::HeaderedSelectingItemsControl::header_property).
3749    fn header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
3750        self.prop(<ferroui_controls::primitives::HeaderedSelectingItemsControl>::header_property(), value)
3751    }
3752
3753    /// Sets [`HeaderedSelectingItemsControl::header_template_property`](ferroui_controls::primitives::HeaderedSelectingItemsControl::header_template_property).
3754    fn header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
3755        self.prop(<ferroui_controls::primitives::HeaderedSelectingItemsControl>::header_template_property(), value)
3756    }
3757}
3758impl<T: ObjectType + Upcast<ferroui_controls::primitives::HeaderedSelectingItemsControl>> HeaderedSelectingItemsControlProps for El<T> {}
3759
3760/// The properties and routed events of [`HyperlinkButton`](ferroui_controls::HyperlinkButton).
3761pub trait HyperlinkButtonProps: ElementBuilder {
3762    /// Sets [`HyperlinkButton::is_visited_property`](ferroui_controls::HyperlinkButton::is_visited_property).
3763    fn is_visited<M>(self, value: impl IntoProp<bool, M>) -> Self {
3764        self.prop(<ferroui_controls::HyperlinkButton>::is_visited_property(), value)
3765    }
3766
3767    /// Sets [`HyperlinkButton::navigate_uri_property`](ferroui_controls::HyperlinkButton::navigate_uri_property).
3768    fn navigate_uri<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::Uri>, M>) -> Self {
3769        self.prop(<ferroui_controls::HyperlinkButton>::navigate_uri_property(), value)
3770    }
3771}
3772impl<T: ObjectType + Upcast<ferroui_controls::HyperlinkButton>> HyperlinkButtonProps for El<T> {}
3773
3774/// The properties and routed events of [`Image`](ferroui_controls::Image).
3775pub trait ImageProps: ElementBuilder {
3776    /// Sets [`Image::source_property`](ferroui_controls::Image::source_property).
3777    fn source<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IImage>>, M>) -> Self {
3778        self.prop(<ferroui_controls::Image>::source_property(), value)
3779    }
3780
3781    /// Sets [`Image::blend_mode_property`](ferroui_controls::Image::blend_mode_property).
3782    fn blend_mode<M>(self, value: impl IntoProp<ferroui_base::media::imaging::BitmapBlendingMode, M>) -> Self {
3783        self.prop(<ferroui_controls::Image>::blend_mode_property(), value)
3784    }
3785
3786    /// Sets [`Image::stretch_property`](ferroui_controls::Image::stretch_property).
3787    fn stretch<M>(self, value: impl IntoProp<ferroui_base::media::Stretch, M>) -> Self {
3788        self.prop(<ferroui_controls::Image>::stretch_property(), value)
3789    }
3790
3791    /// Sets [`Image::stretch_direction_property`](ferroui_controls::Image::stretch_direction_property).
3792    fn stretch_direction<M>(self, value: impl IntoProp<ferroui_base::media::StretchDirection, M>) -> Self {
3793        self.prop(<ferroui_controls::Image>::stretch_direction_property(), value)
3794    }
3795}
3796impl<T: ObjectType + Upcast<ferroui_controls::Image>> ImageProps for El<T> {}
3797
3798/// The properties and routed events of [`ImageBrush`](ferroui_base::media::ImageBrush).
3799pub trait ImageBrushProps: ElementBuilder {
3800    /// Sets [`ImageBrush::source_property`](ferroui_base::media::ImageBrush::source_property).
3801    fn source<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IImageBrushSource>>, M>) -> Self {
3802        self.prop(<ferroui_base::media::ImageBrush>::source_property(), value)
3803    }
3804}
3805impl<T: ObjectType + Upcast<ferroui_base::media::ImageBrush>> ImageBrushProps for El<T> {}
3806
3807/// The properties and routed events of [`ImageDrawing`](ferroui_base::media::ImageDrawing).
3808pub trait ImageDrawingProps: ElementBuilder {
3809    /// Sets [`ImageDrawing::image_source_property`](ferroui_base::media::ImageDrawing::image_source_property).
3810    fn image_source<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IImage>>, M>) -> Self {
3811        self.prop(<ferroui_base::media::ImageDrawing>::image_source_property(), value)
3812    }
3813
3814    /// Sets [`ImageDrawing::rect_property`](ferroui_base::media::ImageDrawing::rect_property).
3815    fn rect<M>(self, value: impl IntoProp<ferroui_base::Rect, M>) -> Self {
3816        self.prop(<ferroui_base::media::ImageDrawing>::rect_property(), value)
3817    }
3818}
3819impl<T: ObjectType + Upcast<ferroui_base::media::ImageDrawing>> ImageDrawingProps for El<T> {}
3820
3821/// The properties and routed events of [`Inline`](ferroui_controls::documents::Inline).
3822pub trait InlineProps: ElementBuilder {
3823    /// Sets [`Inline::text_decorations_property`](ferroui_controls::documents::Inline::text_decorations_property).
3824    fn text_decorations<M>(self, value: impl IntoProp<Option<ferroui_base::media::TextDecorationCollection>, M>) -> Self {
3825        self.prop(<ferroui_controls::documents::Inline>::text_decorations_property(), value)
3826    }
3827
3828    /// Sets [`Inline::baseline_alignment_property`](ferroui_controls::documents::Inline::baseline_alignment_property).
3829    fn baseline_alignment<M>(self, value: impl IntoProp<ferroui_base::media::BaselineAlignment, M>) -> Self {
3830        self.prop(<ferroui_controls::documents::Inline>::baseline_alignment_property(), value)
3831    }
3832}
3833impl<T: ObjectType + Upcast<ferroui_controls::documents::Inline>> InlineProps for El<T> {}
3834
3835/// The properties and routed events of [`InputElement`](ferroui_base::input::InputElement).
3836pub trait InputElementProps: ElementBuilder {
3837    /// Sets [`InputElement::focusable_property`](ferroui_base::input::InputElement::focusable_property).
3838    fn focusable<M>(self, value: impl IntoProp<bool, M>) -> Self {
3839        self.prop(<ferroui_base::input::InputElement>::focusable_property(), value)
3840    }
3841
3842    /// Sets [`InputElement::is_enabled_property`](ferroui_base::input::InputElement::is_enabled_property).
3843    fn is_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
3844        self.prop(<ferroui_base::input::InputElement>::is_enabled_property(), value)
3845    }
3846
3847    /// Sets [`InputElement::cursor_property`](ferroui_base::input::InputElement::cursor_property).
3848    fn cursor<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_base::input::Cursor>>, M>) -> Self {
3849        self.prop(<ferroui_base::input::InputElement>::cursor_property(), value)
3850    }
3851
3852    /// Sets [`InputElement::is_hit_test_visible_property`](ferroui_base::input::InputElement::is_hit_test_visible_property).
3853    fn is_hit_test_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
3854        self.prop(<ferroui_base::input::InputElement>::is_hit_test_visible_property(), value)
3855    }
3856
3857    /// Sets [`InputElement::is_tab_stop_property`](ferroui_base::input::InputElement::is_tab_stop_property).
3858    fn is_tab_stop<M>(self, value: impl IntoProp<bool, M>) -> Self {
3859        self.prop(<ferroui_base::input::InputElement>::is_tab_stop_property(), value)
3860    }
3861
3862    /// Sets [`InputElement::tab_index_property`](ferroui_base::input::InputElement::tab_index_property).
3863    fn tab_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
3864        self.prop(<ferroui_base::input::InputElement>::tab_index_property(), value)
3865    }
3866
3867    /// Handles [`InputElement::got_focus_event`](ferroui_base::input::InputElement::got_focus_event).
3868    fn on_got_focus(self, handler: impl Fn(&ferroui_base::input::FocusChangedEventArgs) + 'static) -> Self {
3869        self.routed(<ferroui_base::input::InputElement>::got_focus_event(), move |_, e| handler(e))
3870    }
3871
3872    /// Handles [`InputElement::getting_focus_event`](ferroui_base::input::InputElement::getting_focus_event).
3873    fn on_getting_focus(self, handler: impl Fn(&ferroui_base::input::FocusChangingEventArgs) + 'static) -> Self {
3874        self.routed(<ferroui_base::input::InputElement>::getting_focus_event(), move |_, e| handler(e))
3875    }
3876
3877    /// Handles [`InputElement::lost_focus_event`](ferroui_base::input::InputElement::lost_focus_event).
3878    fn on_lost_focus(self, handler: impl Fn(&ferroui_base::input::FocusChangedEventArgs) + 'static) -> Self {
3879        self.routed(<ferroui_base::input::InputElement>::lost_focus_event(), move |_, e| handler(e))
3880    }
3881
3882    /// Handles [`InputElement::losing_focus_event`](ferroui_base::input::InputElement::losing_focus_event).
3883    fn on_losing_focus(self, handler: impl Fn(&ferroui_base::input::FocusChangingEventArgs) + 'static) -> Self {
3884        self.routed(<ferroui_base::input::InputElement>::losing_focus_event(), move |_, e| handler(e))
3885    }
3886
3887    /// Handles [`InputElement::key_down_event`](ferroui_base::input::InputElement::key_down_event).
3888    fn on_key_down(self, handler: impl Fn(&ferroui_base::input::KeyEventArgs) + 'static) -> Self {
3889        self.routed(<ferroui_base::input::InputElement>::key_down_event(), move |_, e| handler(e))
3890    }
3891
3892    /// Handles [`InputElement::key_up_event`](ferroui_base::input::InputElement::key_up_event).
3893    fn on_key_up(self, handler: impl Fn(&ferroui_base::input::KeyEventArgs) + 'static) -> Self {
3894        self.routed(<ferroui_base::input::InputElement>::key_up_event(), move |_, e| handler(e))
3895    }
3896
3897    /// Handles [`InputElement::text_input_event`](ferroui_base::input::InputElement::text_input_event).
3898    fn on_text_input(self, handler: impl Fn(&ferroui_base::input::TextInputEventArgs) + 'static) -> Self {
3899        self.routed(<ferroui_base::input::InputElement>::text_input_event(), move |_, e| handler(e))
3900    }
3901
3902    /// Handles [`InputElement::text_input_method_client_requested_event`](ferroui_base::input::InputElement::text_input_method_client_requested_event).
3903    fn on_text_input_method_client_requested(self, handler: impl Fn(&ferroui_base::input::text_input::TextInputMethodClientRequestedEventArgs) + 'static) -> Self {
3904        self.routed(<ferroui_base::input::InputElement>::text_input_method_client_requested_event(), move |_, e| handler(e))
3905    }
3906
3907    /// Handles [`InputElement::pointer_entered_event`](ferroui_base::input::InputElement::pointer_entered_event).
3908    fn on_pointer_entered(self, handler: impl Fn(&ferroui_base::input::PointerEventArgs) + 'static) -> Self {
3909        self.routed(<ferroui_base::input::InputElement>::pointer_entered_event(), move |_, e| handler(e))
3910    }
3911
3912    /// Handles [`InputElement::pointer_exited_event`](ferroui_base::input::InputElement::pointer_exited_event).
3913    fn on_pointer_exited(self, handler: impl Fn(&ferroui_base::input::PointerEventArgs) + 'static) -> Self {
3914        self.routed(<ferroui_base::input::InputElement>::pointer_exited_event(), move |_, e| handler(e))
3915    }
3916
3917    /// Handles [`InputElement::pointer_moved_event`](ferroui_base::input::InputElement::pointer_moved_event).
3918    fn on_pointer_moved(self, handler: impl Fn(&ferroui_base::input::PointerEventArgs) + 'static) -> Self {
3919        self.routed(<ferroui_base::input::InputElement>::pointer_moved_event(), move |_, e| handler(e))
3920    }
3921
3922    /// Handles [`InputElement::pointer_pressed_event`](ferroui_base::input::InputElement::pointer_pressed_event).
3923    fn on_pointer_pressed(self, handler: impl Fn(&ferroui_base::input::PointerPressedEventArgs) + 'static) -> Self {
3924        self.routed(<ferroui_base::input::InputElement>::pointer_pressed_event(), move |_, e| handler(e))
3925    }
3926
3927    /// Handles [`InputElement::pointer_released_event`](ferroui_base::input::InputElement::pointer_released_event).
3928    fn on_pointer_released(self, handler: impl Fn(&ferroui_base::input::PointerReleasedEventArgs) + 'static) -> Self {
3929        self.routed(<ferroui_base::input::InputElement>::pointer_released_event(), move |_, e| handler(e))
3930    }
3931
3932    /// Handles [`InputElement::pointer_capture_lost_event`](ferroui_base::input::InputElement::pointer_capture_lost_event).
3933    fn on_pointer_capture_lost(self, handler: impl Fn(&ferroui_base::input::PointerCaptureLostEventArgs) + 'static) -> Self {
3934        self.routed(<ferroui_base::input::InputElement>::pointer_capture_lost_event(), move |_, e| handler(e))
3935    }
3936
3937    /// Handles [`InputElement::pointer_wheel_changed_event`](ferroui_base::input::InputElement::pointer_wheel_changed_event).
3938    fn on_pointer_wheel_changed(self, handler: impl Fn(&ferroui_base::input::PointerWheelEventArgs) + 'static) -> Self {
3939        self.routed(<ferroui_base::input::InputElement>::pointer_wheel_changed_event(), move |_, e| handler(e))
3940    }
3941
3942    /// Handles [`InputElement::context_requested_event`](ferroui_base::input::InputElement::context_requested_event).
3943    fn on_context_requested(self, handler: impl Fn(&ferroui_base::input::ContextRequestedEventArgs) + 'static) -> Self {
3944        self.routed(<ferroui_base::input::InputElement>::context_requested_event(), move |_, e| handler(e))
3945    }
3946
3947    /// Handles [`InputElement::context_canceled_event`](ferroui_base::input::InputElement::context_canceled_event).
3948    fn on_context_canceled(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
3949        self.routed(<ferroui_base::input::InputElement>::context_canceled_event(), move |_, e| handler(e))
3950    }
3951
3952    /// Handles [`InputElement::pinch_event`](ferroui_base::input::InputElement::pinch_event).
3953    fn on_pinch(self, handler: impl Fn(&ferroui_base::input::PinchEventArgs) + 'static) -> Self {
3954        self.routed(<ferroui_base::input::InputElement>::pinch_event(), move |_, e| handler(e))
3955    }
3956
3957    /// Handles [`InputElement::pinch_ended_event`](ferroui_base::input::InputElement::pinch_ended_event).
3958    fn on_pinch_ended(self, handler: impl Fn(&ferroui_base::input::PinchEndedEventArgs) + 'static) -> Self {
3959        self.routed(<ferroui_base::input::InputElement>::pinch_ended_event(), move |_, e| handler(e))
3960    }
3961
3962    /// Handles [`InputElement::pull_gesture_event`](ferroui_base::input::InputElement::pull_gesture_event).
3963    fn on_pull_gesture(self, handler: impl Fn(&ferroui_base::input::PullGestureEventArgs) + 'static) -> Self {
3964        self.routed(<ferroui_base::input::InputElement>::pull_gesture_event(), move |_, e| handler(e))
3965    }
3966
3967    /// Handles [`InputElement::pull_gesture_ended_event`](ferroui_base::input::InputElement::pull_gesture_ended_event).
3968    fn on_pull_gesture_ended(self, handler: impl Fn(&ferroui_base::input::PullGestureEndedEventArgs) + 'static) -> Self {
3969        self.routed(<ferroui_base::input::InputElement>::pull_gesture_ended_event(), move |_, e| handler(e))
3970    }
3971
3972    /// Handles [`InputElement::swipe_gesture_event`](ferroui_base::input::InputElement::swipe_gesture_event).
3973    fn on_swipe_gesture(self, handler: impl Fn(&ferroui_base::input::SwipeGestureEventArgs) + 'static) -> Self {
3974        self.routed(<ferroui_base::input::InputElement>::swipe_gesture_event(), move |_, e| handler(e))
3975    }
3976
3977    /// Handles [`InputElement::swipe_gesture_ended_event`](ferroui_base::input::InputElement::swipe_gesture_ended_event).
3978    fn on_swipe_gesture_ended(self, handler: impl Fn(&ferroui_base::input::SwipeGestureEndedEventArgs) + 'static) -> Self {
3979        self.routed(<ferroui_base::input::InputElement>::swipe_gesture_ended_event(), move |_, e| handler(e))
3980    }
3981
3982    /// Handles [`InputElement::scroll_gesture_event`](ferroui_base::input::InputElement::scroll_gesture_event).
3983    fn on_scroll_gesture(self, handler: impl Fn(&ferroui_base::input::ScrollGestureEventArgs) + 'static) -> Self {
3984        self.routed(<ferroui_base::input::InputElement>::scroll_gesture_event(), move |_, e| handler(e))
3985    }
3986
3987    /// Handles [`InputElement::scroll_gesture_inertia_starting_event`](ferroui_base::input::InputElement::scroll_gesture_inertia_starting_event).
3988    fn on_scroll_gesture_inertia_starting(self, handler: impl Fn(&ferroui_base::input::ScrollGestureInertiaStartingEventArgs) + 'static) -> Self {
3989        self.routed(<ferroui_base::input::InputElement>::scroll_gesture_inertia_starting_event(), move |_, e| handler(e))
3990    }
3991
3992    /// Handles [`InputElement::scroll_gesture_ended_event`](ferroui_base::input::InputElement::scroll_gesture_ended_event).
3993    fn on_scroll_gesture_ended(self, handler: impl Fn(&ferroui_base::input::ScrollGestureEndedEventArgs) + 'static) -> Self {
3994        self.routed(<ferroui_base::input::InputElement>::scroll_gesture_ended_event(), move |_, e| handler(e))
3995    }
3996
3997    /// Handles [`InputElement::pointer_touch_pad_gesture_magnify_event`](ferroui_base::input::InputElement::pointer_touch_pad_gesture_magnify_event).
3998    fn on_pointer_touch_pad_gesture_magnify(self, handler: impl Fn(&ferroui_base::input::PointerDeltaEventArgs) + 'static) -> Self {
3999        self.routed(<ferroui_base::input::InputElement>::pointer_touch_pad_gesture_magnify_event(), move |_, e| handler(e))
4000    }
4001
4002    /// Handles [`InputElement::pointer_touch_pad_gesture_rotate_event`](ferroui_base::input::InputElement::pointer_touch_pad_gesture_rotate_event).
4003    fn on_pointer_touch_pad_gesture_rotate(self, handler: impl Fn(&ferroui_base::input::PointerDeltaEventArgs) + 'static) -> Self {
4004        self.routed(<ferroui_base::input::InputElement>::pointer_touch_pad_gesture_rotate_event(), move |_, e| handler(e))
4005    }
4006
4007    /// Handles [`InputElement::pointer_touch_pad_gesture_swipe_event`](ferroui_base::input::InputElement::pointer_touch_pad_gesture_swipe_event).
4008    fn on_pointer_touch_pad_gesture_swipe(self, handler: impl Fn(&ferroui_base::input::PointerDeltaEventArgs) + 'static) -> Self {
4009        self.routed(<ferroui_base::input::InputElement>::pointer_touch_pad_gesture_swipe_event(), move |_, e| handler(e))
4010    }
4011
4012    /// Handles [`InputElement::tapped_event`](ferroui_base::input::InputElement::tapped_event).
4013    fn on_tapped(self, handler: impl Fn(&ferroui_base::input::TappedEventArgs) + 'static) -> Self {
4014        self.routed(<ferroui_base::input::InputElement>::tapped_event(), move |_, e| handler(e))
4015    }
4016
4017    /// Handles [`InputElement::right_tapped_event`](ferroui_base::input::InputElement::right_tapped_event).
4018    fn on_right_tapped(self, handler: impl Fn(&ferroui_base::input::TappedEventArgs) + 'static) -> Self {
4019        self.routed(<ferroui_base::input::InputElement>::right_tapped_event(), move |_, e| handler(e))
4020    }
4021
4022    /// Handles [`InputElement::holding_event`](ferroui_base::input::InputElement::holding_event).
4023    fn on_holding(self, handler: impl Fn(&ferroui_base::input::HoldingRoutedEventArgs) + 'static) -> Self {
4024        self.routed(<ferroui_base::input::InputElement>::holding_event(), move |_, e| handler(e))
4025    }
4026
4027    /// Handles [`InputElement::double_tapped_event`](ferroui_base::input::InputElement::double_tapped_event).
4028    fn on_double_tapped(self, handler: impl Fn(&ferroui_base::input::TappedEventArgs) + 'static) -> Self {
4029        self.routed(<ferroui_base::input::InputElement>::double_tapped_event(), move |_, e| handler(e))
4030    }
4031}
4032impl<T: ObjectType + Upcast<ferroui_base::input::InputElement>> InputElementProps for El<T> {}
4033
4034/// The properties and routed events of [`InputPaneAwareDecorator`](ferroui_controls::InputPaneAwareDecorator).
4035pub trait InputPaneAwareDecoratorProps: ElementBuilder {
4036    /// Sets [`InputPaneAwareDecorator::behavior_property`](ferroui_controls::InputPaneAwareDecorator::behavior_property).
4037    fn behavior<M>(self, value: impl IntoProp<ferroui_controls::InputPaneAwareBehavior, M>) -> Self {
4038        self.prop(<ferroui_controls::InputPaneAwareDecorator>::behavior_property(), value)
4039    }
4040}
4041impl<T: ObjectType + Upcast<ferroui_controls::InputPaneAwareDecorator>> InputPaneAwareDecoratorProps for El<T> {}
4042
4043/// The properties and routed events of [`ItemsControl`](ferroui_controls::ItemsControl).
4044pub trait ItemsControlProps: ElementBuilder {
4045    /// Sets [`ItemsControl::item_container_theme_property`](ferroui_controls::ItemsControl::item_container_theme_property).
4046    fn item_container_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
4047        self.prop(<ferroui_controls::ItemsControl>::item_container_theme_property(), value)
4048    }
4049
4050    /// Sets [`ItemsControl::items_panel_property`](ferroui_controls::ItemsControl::items_panel_property).
4051    fn items_panel<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Panel>>>>, M>) -> Self {
4052        self.prop(<ferroui_controls::ItemsControl>::items_panel_property(), value)
4053    }
4054
4055    /// Sets [`ItemsControl::items_source_property`](ferroui_controls::ItemsControl::items_source_property).
4056    fn items_source<M>(self, value: impl IntoProp<Option<ferroui_controls::ItemsSource>, M>) -> Self {
4057        self.prop(<ferroui_controls::ItemsControl>::items_source_property(), value)
4058    }
4059
4060    /// Sets [`ItemsControl::item_template_property`](ferroui_controls::ItemsControl::item_template_property).
4061    fn item_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
4062        self.prop(<ferroui_controls::ItemsControl>::item_template_property(), value)
4063    }
4064}
4065impl<T: ObjectType + Upcast<ferroui_controls::ItemsControl>> ItemsControlProps for El<T> {}
4066
4067/// The properties and routed events of [`ItemsPresenter`](ferroui_controls::presenters::ItemsPresenter).
4068pub trait ItemsPresenterProps: ElementBuilder {
4069    /// Sets [`ItemsPresenter::items_panel_property`](ferroui_controls::presenters::ItemsPresenter::items_panel_property).
4070    fn items_panel<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_controls::ITemplateOf<Option<ferroui_base::Ref<ferroui_controls::Panel>>>>, M>) -> Self {
4071        self.prop(<ferroui_controls::presenters::ItemsPresenter>::items_panel_property(), value)
4072    }
4073}
4074impl<T: ObjectType + Upcast<ferroui_controls::presenters::ItemsPresenter>> ItemsPresenterProps for El<T> {}
4075
4076/// The properties and routed events of [`KeyBinding`](ferroui_base::input::KeyBinding).
4077pub trait KeyBindingProps: ElementBuilder {
4078    /// Sets [`KeyBinding::command_property`](ferroui_base::input::KeyBinding::command_property).
4079    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
4080        self.prop(<ferroui_base::input::KeyBinding>::command_property(), value)
4081    }
4082
4083    /// Sets [`KeyBinding::command_parameter_property`](ferroui_base::input::KeyBinding::command_parameter_property).
4084    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4085        self.prop(<ferroui_base::input::KeyBinding>::command_parameter_property(), value)
4086    }
4087
4088    /// Sets [`KeyBinding::gesture_property`](ferroui_base::input::KeyBinding::gesture_property).
4089    fn gesture<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
4090        self.prop(<ferroui_base::input::KeyBinding>::gesture_property(), value)
4091    }
4092}
4093impl<T: ObjectType + Upcast<ferroui_base::input::KeyBinding>> KeyBindingProps for El<T> {}
4094
4095/// The properties and routed events of [`LayoutTransformControl`](ferroui_controls::LayoutTransformControl).
4096pub trait LayoutTransformControlProps: ElementBuilder {
4097    /// Sets [`LayoutTransformControl::layout_transform_property`](ferroui_controls::LayoutTransformControl::layout_transform_property).
4098    fn layout_transform<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::ITransform>>, M>) -> Self {
4099        self.prop(<ferroui_controls::LayoutTransformControl>::layout_transform_property(), value)
4100    }
4101
4102    /// Sets [`LayoutTransformControl::use_render_transform_property`](ferroui_controls::LayoutTransformControl::use_render_transform_property).
4103    fn use_render_transform<M>(self, value: impl IntoProp<bool, M>) -> Self {
4104        self.prop(<ferroui_controls::LayoutTransformControl>::use_render_transform_property(), value)
4105    }
4106}
4107impl<T: ObjectType + Upcast<ferroui_controls::LayoutTransformControl>> LayoutTransformControlProps for El<T> {}
4108
4109/// The properties and routed events of [`Layoutable`](ferroui_base::layout::Layoutable).
4110pub trait LayoutableProps: ElementBuilder {
4111    /// Sets [`Layoutable::width_property`](ferroui_base::layout::Layoutable::width_property).
4112    fn width<M>(self, value: impl IntoProp<f64, M>) -> Self {
4113        self.prop(<ferroui_base::layout::Layoutable>::width_property(), value)
4114    }
4115
4116    /// Sets [`Layoutable::height_property`](ferroui_base::layout::Layoutable::height_property).
4117    fn height<M>(self, value: impl IntoProp<f64, M>) -> Self {
4118        self.prop(<ferroui_base::layout::Layoutable>::height_property(), value)
4119    }
4120
4121    /// Sets [`Layoutable::min_width_property`](ferroui_base::layout::Layoutable::min_width_property).
4122    fn min_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
4123        self.prop(<ferroui_base::layout::Layoutable>::min_width_property(), value)
4124    }
4125
4126    /// Sets [`Layoutable::max_width_property`](ferroui_base::layout::Layoutable::max_width_property).
4127    fn max_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
4128        self.prop(<ferroui_base::layout::Layoutable>::max_width_property(), value)
4129    }
4130
4131    /// Sets [`Layoutable::min_height_property`](ferroui_base::layout::Layoutable::min_height_property).
4132    fn min_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
4133        self.prop(<ferroui_base::layout::Layoutable>::min_height_property(), value)
4134    }
4135
4136    /// Sets [`Layoutable::max_height_property`](ferroui_base::layout::Layoutable::max_height_property).
4137    fn max_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
4138        self.prop(<ferroui_base::layout::Layoutable>::max_height_property(), value)
4139    }
4140
4141    /// Sets [`Layoutable::margin_property`](ferroui_base::layout::Layoutable::margin_property).
4142    fn margin<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
4143        self.prop(<ferroui_base::layout::Layoutable>::margin_property(), value)
4144    }
4145
4146    /// Sets [`Layoutable::horizontal_alignment_property`](ferroui_base::layout::Layoutable::horizontal_alignment_property).
4147    fn horizontal_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
4148        self.prop(<ferroui_base::layout::Layoutable>::horizontal_alignment_property(), value)
4149    }
4150
4151    /// Sets [`Layoutable::vertical_alignment_property`](ferroui_base::layout::Layoutable::vertical_alignment_property).
4152    fn vertical_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
4153        self.prop(<ferroui_base::layout::Layoutable>::vertical_alignment_property(), value)
4154    }
4155
4156    /// Sets [`Layoutable::use_layout_rounding_property`](ferroui_base::layout::Layoutable::use_layout_rounding_property).
4157    fn use_layout_rounding<M>(self, value: impl IntoProp<bool, M>) -> Self {
4158        self.prop(<ferroui_base::layout::Layoutable>::use_layout_rounding_property(), value)
4159    }
4160}
4161impl<T: ObjectType + Upcast<ferroui_base::layout::Layoutable>> LayoutableProps for El<T> {}
4162
4163/// The properties and routed events of [`Line`](ferroui_controls::shapes::Line).
4164pub trait LineProps: ElementBuilder {
4165    /// Sets [`Line::start_point_property`](ferroui_controls::shapes::Line::start_point_property).
4166    fn start_point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4167        self.prop(<ferroui_controls::shapes::Line>::start_point_property(), value)
4168    }
4169
4170    /// Sets [`Line::end_point_property`](ferroui_controls::shapes::Line::end_point_property).
4171    fn end_point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4172        self.prop(<ferroui_controls::shapes::Line>::end_point_property(), value)
4173    }
4174}
4175impl<T: ObjectType + Upcast<ferroui_controls::shapes::Line>> LineProps for El<T> {}
4176
4177/// The properties and routed events of [`LineGeometry`](ferroui_base::media::LineGeometry).
4178pub trait LineGeometryProps: ElementBuilder {
4179    /// Sets [`LineGeometry::start_point_property`](ferroui_base::media::LineGeometry::start_point_property).
4180    fn start_point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4181        self.prop(<ferroui_base::media::LineGeometry>::start_point_property(), value)
4182    }
4183
4184    /// Sets [`LineGeometry::end_point_property`](ferroui_base::media::LineGeometry::end_point_property).
4185    fn end_point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4186        self.prop(<ferroui_base::media::LineGeometry>::end_point_property(), value)
4187    }
4188}
4189impl<T: ObjectType + Upcast<ferroui_base::media::LineGeometry>> LineGeometryProps for El<T> {}
4190
4191/// The properties and routed events of [`LineSegment`](ferroui_base::media::LineSegment).
4192pub trait LineSegmentProps: ElementBuilder {
4193    /// Sets [`LineSegment::point_property`](ferroui_base::media::LineSegment::point_property).
4194    fn point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4195        self.prop(<ferroui_base::media::LineSegment>::point_property(), value)
4196    }
4197}
4198impl<T: ObjectType + Upcast<ferroui_base::media::LineSegment>> LineSegmentProps for El<T> {}
4199
4200/// The properties and routed events of [`LinearGradientBrush`](ferroui_base::media::LinearGradientBrush).
4201pub trait LinearGradientBrushProps: ElementBuilder {
4202    /// Sets [`LinearGradientBrush::start_point_property`](ferroui_base::media::LinearGradientBrush::start_point_property).
4203    fn start_point<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
4204        self.prop(<ferroui_base::media::LinearGradientBrush>::start_point_property(), value)
4205    }
4206
4207    /// Sets [`LinearGradientBrush::end_point_property`](ferroui_base::media::LinearGradientBrush::end_point_property).
4208    fn end_point<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
4209        self.prop(<ferroui_base::media::LinearGradientBrush>::end_point_property(), value)
4210    }
4211}
4212impl<T: ObjectType + Upcast<ferroui_base::media::LinearGradientBrush>> LinearGradientBrushProps for El<T> {}
4213
4214/// The properties and routed events of [`ListBoxItem`](ferroui_controls::ListBoxItem).
4215pub trait ListBoxItemProps: ElementBuilder {
4216    /// Sets [`ListBoxItem::is_selected_property`](ferroui_controls::ListBoxItem::is_selected_property).
4217    fn is_selected<M>(self, value: impl IntoProp<bool, M>) -> Self {
4218        self.prop(<ferroui_controls::ListBoxItem>::is_selected_property(), value)
4219    }
4220}
4221impl<T: ObjectType + Upcast<ferroui_controls::ListBoxItem>> ListBoxItemProps for El<T> {}
4222
4223/// The properties and routed events of [`MaskedTextBox`](ferroui_controls::MaskedTextBox).
4224pub trait MaskedTextBoxProps: ElementBuilder {
4225    /// Sets [`MaskedTextBox::ascii_only_property`](ferroui_controls::MaskedTextBox::ascii_only_property).
4226    fn ascii_only<M>(self, value: impl IntoProp<bool, M>) -> Self {
4227        self.prop(<ferroui_controls::MaskedTextBox>::ascii_only_property(), value)
4228    }
4229
4230    /// Sets [`MaskedTextBox::culture_property`](ferroui_controls::MaskedTextBox::culture_property).
4231    fn culture<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::CultureInfo>, M>) -> Self {
4232        self.prop(<ferroui_controls::MaskedTextBox>::culture_property(), value)
4233    }
4234
4235    /// Sets [`MaskedTextBox::hide_prompt_on_leave_property`](ferroui_controls::MaskedTextBox::hide_prompt_on_leave_property).
4236    fn hide_prompt_on_leave<M>(self, value: impl IntoProp<bool, M>) -> Self {
4237        self.prop(<ferroui_controls::MaskedTextBox>::hide_prompt_on_leave_property(), value)
4238    }
4239
4240    /// Sets [`MaskedTextBox::mask_property`](ferroui_controls::MaskedTextBox::mask_property).
4241    fn mask<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4242        self.prop(<ferroui_controls::MaskedTextBox>::mask_property(), value)
4243    }
4244
4245    /// Sets [`MaskedTextBox::prompt_char_property`](ferroui_controls::MaskedTextBox::prompt_char_property).
4246    fn prompt_char<M>(self, value: impl IntoProp<char, M>) -> Self {
4247        self.prop(<ferroui_controls::MaskedTextBox>::prompt_char_property(), value)
4248    }
4249
4250    /// Sets [`MaskedTextBox::reset_on_prompt_property`](ferroui_controls::MaskedTextBox::reset_on_prompt_property).
4251    fn reset_on_prompt<M>(self, value: impl IntoProp<bool, M>) -> Self {
4252        self.prop(<ferroui_controls::MaskedTextBox>::reset_on_prompt_property(), value)
4253    }
4254
4255    /// Sets [`MaskedTextBox::reset_on_space_property`](ferroui_controls::MaskedTextBox::reset_on_space_property).
4256    fn reset_on_space<M>(self, value: impl IntoProp<bool, M>) -> Self {
4257        self.prop(<ferroui_controls::MaskedTextBox>::reset_on_space_property(), value)
4258    }
4259}
4260impl<T: ObjectType + Upcast<ferroui_controls::MaskedTextBox>> MaskedTextBoxProps for El<T> {}
4261
4262/// The properties and routed events of [`MatrixTransform`](ferroui_base::media::MatrixTransform).
4263pub trait MatrixTransformProps: ElementBuilder {
4264    /// Sets [`MatrixTransform::matrix_property`](ferroui_base::media::MatrixTransform::matrix_property).
4265    fn matrix<M>(self, value: impl IntoProp<ferroui_base::Matrix, M>) -> Self {
4266        self.prop(<ferroui_base::media::MatrixTransform>::matrix_property(), value)
4267    }
4268}
4269impl<T: ObjectType + Upcast<ferroui_base::media::MatrixTransform>> MatrixTransformProps for El<T> {}
4270
4271/// The properties and routed events of [`MenuBase`](ferroui_controls::MenuBase).
4272pub trait MenuBaseProps: ElementBuilder {
4273    /// Handles [`MenuBase::opened_event`](ferroui_controls::MenuBase::opened_event).
4274    fn on_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4275        self.routed(<ferroui_controls::MenuBase>::opened_event(), move |_, e| handler(e))
4276    }
4277
4278    /// Handles [`MenuBase::closed_event`](ferroui_controls::MenuBase::closed_event).
4279    fn on_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4280        self.routed(<ferroui_controls::MenuBase>::closed_event(), move |_, e| handler(e))
4281    }
4282}
4283impl<T: ObjectType + Upcast<ferroui_controls::MenuBase>> MenuBaseProps for El<T> {}
4284
4285/// The properties and routed events of [`MenuFlyout`](ferroui_controls::MenuFlyout).
4286pub trait MenuFlyoutProps: ElementBuilder {
4287    /// Sets [`MenuFlyout::items_source_property`](ferroui_controls::MenuFlyout::items_source_property).
4288    fn items_source<M>(self, value: impl IntoProp<Option<ferroui_controls::ItemsSource>, M>) -> Self {
4289        self.prop(<ferroui_controls::MenuFlyout>::items_source_property(), value)
4290    }
4291
4292    /// Sets [`MenuFlyout::item_template_property`](ferroui_controls::MenuFlyout::item_template_property).
4293    fn item_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
4294        self.prop(<ferroui_controls::MenuFlyout>::item_template_property(), value)
4295    }
4296
4297    /// Sets [`MenuFlyout::item_container_theme_property`](ferroui_controls::MenuFlyout::item_container_theme_property).
4298    fn item_container_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
4299        self.prop(<ferroui_controls::MenuFlyout>::item_container_theme_property(), value)
4300    }
4301
4302    /// Sets [`MenuFlyout::flyout_presenter_theme_property`](ferroui_controls::MenuFlyout::flyout_presenter_theme_property).
4303    fn flyout_presenter_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
4304        self.prop(<ferroui_controls::MenuFlyout>::flyout_presenter_theme_property(), value)
4305    }
4306}
4307impl<T: ObjectType + Upcast<ferroui_controls::MenuFlyout>> MenuFlyoutProps for El<T> {}
4308
4309/// The properties and routed events of [`MenuItem`](ferroui_controls::MenuItem).
4310pub trait MenuItemProps: ElementBuilder {
4311    /// Sets [`MenuItem::command_property`](ferroui_controls::MenuItem::command_property).
4312    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
4313        self.prop(<ferroui_controls::MenuItem>::command_property(), value)
4314    }
4315
4316    /// Sets [`MenuItem::hot_key_property`](ferroui_controls::MenuItem::hot_key_property).
4317    fn hot_key<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
4318        self.prop(<ferroui_controls::MenuItem>::hot_key_property(), value)
4319    }
4320
4321    /// Sets [`MenuItem::command_parameter_property`](ferroui_controls::MenuItem::command_parameter_property).
4322    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4323        self.prop(<ferroui_controls::MenuItem>::command_parameter_property(), value)
4324    }
4325
4326    /// Sets [`MenuItem::icon_property`](ferroui_controls::MenuItem::icon_property).
4327    fn icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4328        self.prop(<ferroui_controls::MenuItem>::icon_property(), value)
4329    }
4330
4331    /// Sets [`MenuItem::input_gesture_property`](ferroui_controls::MenuItem::input_gesture_property).
4332    fn input_gesture<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
4333        self.prop(<ferroui_controls::MenuItem>::input_gesture_property(), value)
4334    }
4335
4336    /// Sets [`MenuItem::is_sub_menu_open_property`](ferroui_controls::MenuItem::is_sub_menu_open_property).
4337    fn is_sub_menu_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
4338        self.prop(<ferroui_controls::MenuItem>::is_sub_menu_open_property(), value)
4339    }
4340
4341    /// Sets [`MenuItem::stays_open_on_click_property`](ferroui_controls::MenuItem::stays_open_on_click_property).
4342    fn stays_open_on_click<M>(self, value: impl IntoProp<bool, M>) -> Self {
4343        self.prop(<ferroui_controls::MenuItem>::stays_open_on_click_property(), value)
4344    }
4345
4346    /// Sets [`MenuItem::toggle_type_property`](ferroui_controls::MenuItem::toggle_type_property).
4347    fn toggle_type<M>(self, value: impl IntoProp<ferroui_controls::MenuItemToggleType, M>) -> Self {
4348        self.prop(<ferroui_controls::MenuItem>::toggle_type_property(), value)
4349    }
4350
4351    /// Sets [`MenuItem::is_checked_property`](ferroui_controls::MenuItem::is_checked_property).
4352    fn is_checked<M>(self, value: impl IntoProp<bool, M>) -> Self {
4353        self.prop(<ferroui_controls::MenuItem>::is_checked_property(), value)
4354    }
4355
4356    /// Sets [`MenuItem::group_name_property`](ferroui_controls::MenuItem::group_name_property).
4357    fn group_name<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4358        self.prop(<ferroui_controls::MenuItem>::group_name_property(), value)
4359    }
4360
4361    /// Handles [`MenuItem::click_event`](ferroui_controls::MenuItem::click_event).
4362    fn on_click(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4363        self.routed(<ferroui_controls::MenuItem>::click_event(), move |_, e| handler(e))
4364    }
4365
4366    /// Handles [`MenuItem::pointer_entered_item_event`](ferroui_controls::MenuItem::pointer_entered_item_event).
4367    fn on_pointer_entered_item(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4368        self.routed(<ferroui_controls::MenuItem>::pointer_entered_item_event(), move |_, e| handler(e))
4369    }
4370
4371    /// Handles [`MenuItem::pointer_exited_item_event`](ferroui_controls::MenuItem::pointer_exited_item_event).
4372    fn on_pointer_exited_item(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4373        self.routed(<ferroui_controls::MenuItem>::pointer_exited_item_event(), move |_, e| handler(e))
4374    }
4375
4376    /// Handles [`MenuItem::submenu_opened_event`](ferroui_controls::MenuItem::submenu_opened_event).
4377    fn on_submenu_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4378        self.routed(<ferroui_controls::MenuItem>::submenu_opened_event(), move |_, e| handler(e))
4379    }
4380}
4381impl<T: ObjectType + Upcast<ferroui_controls::MenuItem>> MenuItemProps for El<T> {}
4382
4383/// The properties and routed events of [`MultiPage`](ferroui_controls::MultiPage).
4384pub trait MultiPageProps: ElementBuilder {
4385    /// Sets [`MultiPage::items_source_property`](ferroui_controls::MultiPage::items_source_property).
4386    fn items_source<M>(self, value: impl IntoProp<Option<ferroui_controls::ItemsSource>, M>) -> Self {
4387        self.prop(<ferroui_controls::MultiPage>::items_source_property(), value)
4388    }
4389
4390    /// Sets [`MultiPage::page_template_property`](ferroui_controls::MultiPage::page_template_property).
4391    fn page_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
4392        self.prop(<ferroui_controls::MultiPage>::page_template_property(), value)
4393    }
4394}
4395impl<T: ObjectType + Upcast<ferroui_controls::MultiPage>> MultiPageProps for El<T> {}
4396
4397/// The properties and routed events of [`NativeMenuItem`](ferroui_controls::NativeMenuItem).
4398pub trait NativeMenuItemProps: ElementBuilder {
4399    /// Sets [`NativeMenuItem::menu_property`](ferroui_controls::NativeMenuItem::menu_property).
4400    fn menu<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::NativeMenu>>, M>) -> Self {
4401        self.prop(<ferroui_controls::NativeMenuItem>::menu_property(), value)
4402    }
4403
4404    /// Sets [`NativeMenuItem::icon_property`](ferroui_controls::NativeMenuItem::icon_property).
4405    fn icon<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::imaging::IBitmap>>, M>) -> Self {
4406        self.prop(<ferroui_controls::NativeMenuItem>::icon_property(), value)
4407    }
4408
4409    /// Sets [`NativeMenuItem::header_property`](ferroui_controls::NativeMenuItem::header_property).
4410    fn header<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4411        self.prop(<ferroui_controls::NativeMenuItem>::header_property(), value)
4412    }
4413
4414    /// Sets [`NativeMenuItem::tool_tip_property`](ferroui_controls::NativeMenuItem::tool_tip_property).
4415    fn tool_tip<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4416        self.prop(<ferroui_controls::NativeMenuItem>::tool_tip_property(), value)
4417    }
4418
4419    /// Sets [`NativeMenuItem::gesture_property`](ferroui_controls::NativeMenuItem::gesture_property).
4420    fn gesture<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
4421        self.prop(<ferroui_controls::NativeMenuItem>::gesture_property(), value)
4422    }
4423
4424    /// Sets [`NativeMenuItem::is_checked_property`](ferroui_controls::NativeMenuItem::is_checked_property).
4425    fn is_checked<M>(self, value: impl IntoProp<bool, M>) -> Self {
4426        self.prop(<ferroui_controls::NativeMenuItem>::is_checked_property(), value)
4427    }
4428
4429    /// Sets [`NativeMenuItem::toggle_type_property`](ferroui_controls::NativeMenuItem::toggle_type_property).
4430    fn toggle_type<M>(self, value: impl IntoProp<ferroui_controls::MenuItemToggleType, M>) -> Self {
4431        self.prop(<ferroui_controls::NativeMenuItem>::toggle_type_property(), value)
4432    }
4433
4434    /// Sets [`NativeMenuItem::command_property`](ferroui_controls::NativeMenuItem::command_property).
4435    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
4436        self.prop(<ferroui_controls::NativeMenuItem>::command_property(), value)
4437    }
4438
4439    /// Sets [`NativeMenuItem::command_parameter_property`](ferroui_controls::NativeMenuItem::command_parameter_property).
4440    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4441        self.prop(<ferroui_controls::NativeMenuItem>::command_parameter_property(), value)
4442    }
4443
4444    /// Sets [`NativeMenuItem::is_enabled_property`](ferroui_controls::NativeMenuItem::is_enabled_property).
4445    fn is_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
4446        self.prop(<ferroui_controls::NativeMenuItem>::is_enabled_property(), value)
4447    }
4448
4449    /// Sets [`NativeMenuItem::is_visible_property`](ferroui_controls::NativeMenuItem::is_visible_property).
4450    fn is_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
4451        self.prop(<ferroui_controls::NativeMenuItem>::is_visible_property(), value)
4452    }
4453}
4454impl<T: ObjectType + Upcast<ferroui_controls::NativeMenuItem>> NativeMenuItemProps for El<T> {}
4455
4456/// The properties and routed events of [`NavigationPage`](ferroui_controls::NavigationPage).
4457pub trait NavigationPageProps: ElementBuilder {
4458    /// Sets [`NavigationPage::content_property`](ferroui_controls::NavigationPage::content_property).
4459    fn content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4460        self.prop(<ferroui_controls::NavigationPage>::content_property(), value)
4461    }
4462
4463    /// Sets [`NavigationPage::page_transition_property`](ferroui_controls::NavigationPage::page_transition_property).
4464    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
4465        self.prop(<ferroui_controls::NavigationPage>::page_transition_property(), value)
4466    }
4467
4468    /// Sets [`NavigationPage::modal_transition_property`](ferroui_controls::NavigationPage::modal_transition_property).
4469    fn modal_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
4470        self.prop(<ferroui_controls::NavigationPage>::modal_transition_property(), value)
4471    }
4472
4473    /// Sets [`NavigationPage::bar_layout_behavior_property`](ferroui_controls::NavigationPage::bar_layout_behavior_property).
4474    fn bar_layout_behavior<M>(self, value: impl IntoProp<Option<ferroui_controls::BarLayoutBehavior>, M>) -> Self {
4475        self.prop(<ferroui_controls::NavigationPage>::bar_layout_behavior_property(), value)
4476    }
4477
4478    /// Sets [`NavigationPage::has_shadow_property`](ferroui_controls::NavigationPage::has_shadow_property).
4479    fn has_shadow<M>(self, value: impl IntoProp<bool, M>) -> Self {
4480        self.prop(<ferroui_controls::NavigationPage>::has_shadow_property(), value)
4481    }
4482
4483    /// Sets [`NavigationPage::bar_height_property`](ferroui_controls::NavigationPage::bar_height_property).
4484    fn bar_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
4485        self.prop(<ferroui_controls::NavigationPage>::bar_height_property(), value)
4486    }
4487
4488    /// Sets [`NavigationPage::bar_height_override_property`](ferroui_controls::NavigationPage::bar_height_override_property).
4489    fn bar_height_override<M>(self, value: impl IntoProp<Option<f64>, M>) -> Self {
4490        self.prop(<ferroui_controls::NavigationPage>::bar_height_override_property(), value)
4491    }
4492
4493    /// Sets [`NavigationPage::back_button_content_property`](ferroui_controls::NavigationPage::back_button_content_property).
4494    fn back_button_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4495        self.prop(<ferroui_controls::NavigationPage>::back_button_content_property(), value)
4496    }
4497
4498    /// Sets [`NavigationPage::has_back_button_property`](ferroui_controls::NavigationPage::has_back_button_property).
4499    fn has_back_button<M>(self, value: impl IntoProp<bool, M>) -> Self {
4500        self.prop(<ferroui_controls::NavigationPage>::has_back_button_property(), value)
4501    }
4502
4503    /// Sets [`NavigationPage::is_back_button_visible_property`](ferroui_controls::NavigationPage::is_back_button_visible_property).
4504    fn is_back_button_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
4505        self.prop(<ferroui_controls::NavigationPage>::is_back_button_visible_property(), value)
4506    }
4507
4508    /// Sets [`NavigationPage::top_command_bar_property`](ferroui_controls::NavigationPage::top_command_bar_property).
4509    fn top_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
4510        self.prop(<ferroui_controls::NavigationPage>::top_command_bar_property(), value)
4511    }
4512
4513    /// Sets [`NavigationPage::bottom_command_bar_property`](ferroui_controls::NavigationPage::bottom_command_bar_property).
4514    fn bottom_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
4515        self.prop(<ferroui_controls::NavigationPage>::bottom_command_bar_property(), value)
4516    }
4517
4518    /// Sets [`NavigationPage::has_navigation_bar_property`](ferroui_controls::NavigationPage::has_navigation_bar_property).
4519    fn has_navigation_bar<M>(self, value: impl IntoProp<bool, M>) -> Self {
4520        self.prop(<ferroui_controls::NavigationPage>::has_navigation_bar_property(), value)
4521    }
4522
4523    /// Sets [`NavigationPage::is_gesture_enabled_property`](ferroui_controls::NavigationPage::is_gesture_enabled_property).
4524    fn is_gesture_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
4525        self.prop(<ferroui_controls::NavigationPage>::is_gesture_enabled_property(), value)
4526    }
4527
4528    /// Sets [`NavigationPage::is_back_button_enabled_property`](ferroui_controls::NavigationPage::is_back_button_enabled_property).
4529    fn is_back_button_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
4530        self.prop(<ferroui_controls::NavigationPage>::is_back_button_enabled_property(), value)
4531    }
4532}
4533impl<T: ObjectType + Upcast<ferroui_controls::NavigationPage>> NavigationPageProps for El<T> {}
4534
4535/// The properties and routed events of [`NotificationCard`](ferroui_controls::NotificationCard).
4536pub trait NotificationCardProps: ElementBuilder {
4537    /// Sets [`NotificationCard::is_closed_property`](ferroui_controls::NotificationCard::is_closed_property).
4538    fn is_closed<M>(self, value: impl IntoProp<bool, M>) -> Self {
4539        self.prop(<ferroui_controls::NotificationCard>::is_closed_property(), value)
4540    }
4541
4542    /// Sets [`NotificationCard::notification_type_property`](ferroui_controls::NotificationCard::notification_type_property).
4543    fn notification_type<M>(self, value: impl IntoProp<ferroui_controls::NotificationType, M>) -> Self {
4544        self.prop(<ferroui_controls::NotificationCard>::notification_type_property(), value)
4545    }
4546
4547    /// Sets [`NotificationCard::close_on_click_property`](ferroui_controls::NotificationCard::close_on_click_property).
4548    fn close_on_click<M>(self, value: impl IntoProp<bool, M>) -> Self {
4549        self.prop(<ferroui_controls::NotificationCard>::close_on_click_property(), value)
4550    }
4551
4552    /// Handles [`NotificationCard::notification_closed_event`](ferroui_controls::NotificationCard::notification_closed_event).
4553    fn on_notification_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4554        self.routed(<ferroui_controls::NotificationCard>::notification_closed_event(), move |_, e| handler(e))
4555    }
4556}
4557impl<T: ObjectType + Upcast<ferroui_controls::NotificationCard>> NotificationCardProps for El<T> {}
4558
4559/// The properties and routed events of [`NumericUpDown`](ferroui_controls::NumericUpDown).
4560pub trait NumericUpDownProps: ElementBuilder {
4561    /// Sets [`NumericUpDown::allow_spin_property`](ferroui_controls::NumericUpDown::allow_spin_property).
4562    fn allow_spin<M>(self, value: impl IntoProp<bool, M>) -> Self {
4563        self.prop(<ferroui_controls::NumericUpDown>::allow_spin_property(), value)
4564    }
4565
4566    /// Sets [`NumericUpDown::button_spinner_location_property`](ferroui_controls::NumericUpDown::button_spinner_location_property).
4567    fn button_spinner_location<M>(self, value: impl IntoProp<ferroui_controls::Location, M>) -> Self {
4568        self.prop(<ferroui_controls::NumericUpDown>::button_spinner_location_property(), value)
4569    }
4570
4571    /// Sets [`NumericUpDown::show_button_spinner_property`](ferroui_controls::NumericUpDown::show_button_spinner_property).
4572    fn show_button_spinner<M>(self, value: impl IntoProp<bool, M>) -> Self {
4573        self.prop(<ferroui_controls::NumericUpDown>::show_button_spinner_property(), value)
4574    }
4575
4576    /// Sets [`NumericUpDown::clip_value_to_min_max_property`](ferroui_controls::NumericUpDown::clip_value_to_min_max_property).
4577    fn clip_value_to_min_max<M>(self, value: impl IntoProp<bool, M>) -> Self {
4578        self.prop(<ferroui_controls::NumericUpDown>::clip_value_to_min_max_property(), value)
4579    }
4580
4581    /// Sets [`NumericUpDown::number_format_property`](ferroui_controls::NumericUpDown::number_format_property).
4582    fn number_format<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_base::utilities::NumberFormatInfo>>, M>) -> Self {
4583        self.prop(<ferroui_controls::NumericUpDown>::number_format_property(), value)
4584    }
4585
4586    /// Sets [`NumericUpDown::format_string_property`](ferroui_controls::NumericUpDown::format_string_property).
4587    fn format_string<M>(self, value: impl IntoProp<String, M>) -> Self {
4588        self.prop(<ferroui_controls::NumericUpDown>::format_string_property(), value)
4589    }
4590
4591    /// Sets [`NumericUpDown::increment_property`](ferroui_controls::NumericUpDown::increment_property).
4592    fn increment<M>(self, value: impl IntoProp<ferroui_base::utilities::Decimal, M>) -> Self {
4593        self.prop(<ferroui_controls::NumericUpDown>::increment_property(), value)
4594    }
4595
4596    /// Sets [`NumericUpDown::is_read_only_property`](ferroui_controls::NumericUpDown::is_read_only_property).
4597    fn is_read_only<M>(self, value: impl IntoProp<bool, M>) -> Self {
4598        self.prop(<ferroui_controls::NumericUpDown>::is_read_only_property(), value)
4599    }
4600
4601    /// Sets [`NumericUpDown::maximum_property`](ferroui_controls::NumericUpDown::maximum_property).
4602    fn maximum<M>(self, value: impl IntoProp<ferroui_base::utilities::Decimal, M>) -> Self {
4603        self.prop(<ferroui_controls::NumericUpDown>::maximum_property(), value)
4604    }
4605
4606    /// Sets [`NumericUpDown::minimum_property`](ferroui_controls::NumericUpDown::minimum_property).
4607    fn minimum<M>(self, value: impl IntoProp<ferroui_base::utilities::Decimal, M>) -> Self {
4608        self.prop(<ferroui_controls::NumericUpDown>::minimum_property(), value)
4609    }
4610
4611    /// Sets [`NumericUpDown::parsing_number_style_property`](ferroui_controls::NumericUpDown::parsing_number_style_property).
4612    fn parsing_number_style<M>(self, value: impl IntoProp<ferroui_base::utilities::NumberStyles, M>) -> Self {
4613        self.prop(<ferroui_controls::NumericUpDown>::parsing_number_style_property(), value)
4614    }
4615
4616    /// Sets [`NumericUpDown::text_property`](ferroui_controls::NumericUpDown::text_property).
4617    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4618        self.prop(<ferroui_controls::NumericUpDown>::text_property(), value)
4619    }
4620
4621    /// Sets [`NumericUpDown::text_converter_property`](ferroui_controls::NumericUpDown::text_converter_property).
4622    fn text_converter<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::data::converters::IValueConverter>>, M>) -> Self {
4623        self.prop(<ferroui_controls::NumericUpDown>::text_converter_property(), value)
4624    }
4625
4626    /// Sets [`NumericUpDown::value_property`](ferroui_controls::NumericUpDown::value_property).
4627    fn value<M>(self, value: impl IntoProp<Option<ferroui_base::utilities::Decimal>, M>) -> Self {
4628        self.prop(<ferroui_controls::NumericUpDown>::value_property(), value)
4629    }
4630
4631    /// Sets [`NumericUpDown::placeholder_text_property`](ferroui_controls::NumericUpDown::placeholder_text_property).
4632    fn placeholder_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
4633        self.prop(<ferroui_controls::NumericUpDown>::placeholder_text_property(), value)
4634    }
4635
4636    /// Sets [`NumericUpDown::placeholder_foreground_property`](ferroui_controls::NumericUpDown::placeholder_foreground_property).
4637    fn placeholder_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
4638        self.prop(<ferroui_controls::NumericUpDown>::placeholder_foreground_property(), value)
4639    }
4640
4641    /// Sets [`NumericUpDown::horizontal_content_alignment_property`](ferroui_controls::NumericUpDown::horizontal_content_alignment_property).
4642    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
4643        self.prop(<ferroui_controls::NumericUpDown>::horizontal_content_alignment_property(), value)
4644    }
4645
4646    /// Sets [`NumericUpDown::vertical_content_alignment_property`](ferroui_controls::NumericUpDown::vertical_content_alignment_property).
4647    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
4648        self.prop(<ferroui_controls::NumericUpDown>::vertical_content_alignment_property(), value)
4649    }
4650
4651    /// Sets [`NumericUpDown::text_alignment_property`](ferroui_controls::NumericUpDown::text_alignment_property).
4652    fn text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
4653        self.prop(<ferroui_controls::NumericUpDown>::text_alignment_property(), value)
4654    }
4655
4656    /// Sets [`NumericUpDown::inner_left_content_property`](ferroui_controls::NumericUpDown::inner_left_content_property).
4657    fn inner_left_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4658        self.prop(<ferroui_controls::NumericUpDown>::inner_left_content_property(), value)
4659    }
4660
4661    /// Sets [`NumericUpDown::inner_right_content_property`](ferroui_controls::NumericUpDown::inner_right_content_property).
4662    fn inner_right_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4663        self.prop(<ferroui_controls::NumericUpDown>::inner_right_content_property(), value)
4664    }
4665}
4666impl<T: ObjectType + Upcast<ferroui_controls::NumericUpDown>> NumericUpDownProps for El<T> {}
4667
4668/// The properties and routed events of [`OverlayPopupHost`](ferroui_controls::primitives::OverlayPopupHost).
4669pub trait OverlayPopupHostProps: ElementBuilder {
4670    /// Sets [`OverlayPopupHost::transform_property`](ferroui_controls::primitives::OverlayPopupHost::transform_property).
4671    fn transform<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Transform>>, M>) -> Self {
4672        self.prop(<ferroui_controls::primitives::OverlayPopupHost>::transform_property(), value)
4673    }
4674}
4675impl<T: ObjectType + Upcast<ferroui_controls::primitives::OverlayPopupHost>> OverlayPopupHostProps for El<T> {}
4676
4677/// The properties and routed events of [`Page`](ferroui_controls::Page).
4678pub trait PageProps: ElementBuilder {
4679    /// Sets [`Page::safe_area_padding_property`](ferroui_controls::Page::safe_area_padding_property).
4680    fn safe_area_padding<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
4681        self.prop(<ferroui_controls::Page>::safe_area_padding_property(), value)
4682    }
4683
4684    /// Sets [`Page::header_property`](ferroui_controls::Page::header_property).
4685    fn header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4686        self.prop(<ferroui_controls::Page>::header_property(), value)
4687    }
4688
4689    /// Sets [`Page::header_template_property`](ferroui_controls::Page::header_template_property).
4690    fn header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
4691        self.prop(<ferroui_controls::Page>::header_template_property(), value)
4692    }
4693
4694    /// Sets [`Page::icon_property`](ferroui_controls::Page::icon_property).
4695    fn icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
4696        self.prop(<ferroui_controls::Page>::icon_property(), value)
4697    }
4698
4699    /// Sets [`Page::icon_template_property`](ferroui_controls::Page::icon_template_property).
4700    fn icon_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
4701        self.prop(<ferroui_controls::Page>::icon_template_property(), value)
4702    }
4703
4704    /// Sets [`Page::current_page_property`](ferroui_controls::Page::current_page_property).
4705    fn current_page<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Page>>, M>) -> Self {
4706        self.prop(<ferroui_controls::Page>::current_page_property(), value)
4707    }
4708
4709    /// Sets [`Page::is_in_navigation_page_property`](ferroui_controls::Page::is_in_navigation_page_property).
4710    fn is_in_navigation_page<M>(self, value: impl IntoProp<bool, M>) -> Self {
4711        self.prop(<ferroui_controls::Page>::is_in_navigation_page_property(), value)
4712    }
4713
4714    /// Handles [`Page::page_navigation_system_back_button_pressed_event`](ferroui_controls::Page::page_navigation_system_back_button_pressed_event).
4715    fn on_page_navigation_system_back_button_pressed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
4716        self.routed(<ferroui_controls::Page>::page_navigation_system_back_button_pressed_event(), move |_, e| handler(e))
4717    }
4718}
4719impl<T: ObjectType + Upcast<ferroui_controls::Page>> PageProps for El<T> {}
4720
4721/// The properties and routed events of [`PageNavigationHost`](ferroui_controls::PageNavigationHost).
4722pub trait PageNavigationHostProps: ElementBuilder {
4723    /// Sets [`PageNavigationHost::page_property`](ferroui_controls::PageNavigationHost::page_property).
4724    fn page<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Page>>, M>) -> Self {
4725        self.prop(<ferroui_controls::PageNavigationHost>::page_property(), value)
4726    }
4727}
4728impl<T: ObjectType + Upcast<ferroui_controls::PageNavigationHost>> PageNavigationHostProps for El<T> {}
4729
4730/// The properties and routed events of [`Panel`](ferroui_controls::Panel).
4731pub trait PanelProps: ElementBuilder {
4732    /// Sets [`Panel::background_property`](ferroui_controls::Panel::background_property).
4733    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
4734        self.prop(<ferroui_controls::Panel>::background_property(), value)
4735    }
4736}
4737impl<T: ObjectType + Upcast<ferroui_controls::Panel>> PanelProps for El<T> {}
4738
4739/// The properties and routed events of [`Path`](ferroui_controls::shapes::Path).
4740pub trait PathProps: ElementBuilder {
4741    /// Sets [`Path::data_property`](ferroui_controls::shapes::Path::data_property).
4742    fn data<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
4743        self.prop(<ferroui_controls::shapes::Path>::data_property(), value)
4744    }
4745}
4746impl<T: ObjectType + Upcast<ferroui_controls::shapes::Path>> PathProps for El<T> {}
4747
4748/// The properties and routed events of [`PathFigure`](ferroui_base::media::PathFigure).
4749pub trait PathFigureProps: ElementBuilder {
4750    /// Sets [`PathFigure::is_closed_property`](ferroui_base::media::PathFigure::is_closed_property).
4751    fn is_closed<M>(self, value: impl IntoProp<bool, M>) -> Self {
4752        self.prop(<ferroui_base::media::PathFigure>::is_closed_property(), value)
4753    }
4754
4755    /// Sets [`PathFigure::is_filled_property`](ferroui_base::media::PathFigure::is_filled_property).
4756    fn is_filled<M>(self, value: impl IntoProp<bool, M>) -> Self {
4757        self.prop(<ferroui_base::media::PathFigure>::is_filled_property(), value)
4758    }
4759
4760    /// Sets [`PathFigure::segments_property`](ferroui_base::media::PathFigure::segments_property).
4761    fn segments<M>(self, value: impl IntoProp<Option<ferroui_base::media::PathSegments>, M>) -> Self {
4762        self.prop(<ferroui_base::media::PathFigure>::segments_property(), value)
4763    }
4764
4765    /// Sets [`PathFigure::start_point_property`](ferroui_base::media::PathFigure::start_point_property).
4766    fn start_point<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
4767        self.prop(<ferroui_base::media::PathFigure>::start_point_property(), value)
4768    }
4769}
4770impl<T: ObjectType + Upcast<ferroui_base::media::PathFigure>> PathFigureProps for El<T> {}
4771
4772/// The properties and routed events of [`PathGeometry`](ferroui_base::media::PathGeometry).
4773pub trait PathGeometryProps: ElementBuilder {
4774    /// Sets [`PathGeometry::figures_property`](ferroui_base::media::PathGeometry::figures_property).
4775    fn figures<M>(self, value: impl IntoProp<Option<ferroui_base::media::PathFigures>, M>) -> Self {
4776        self.prop(<ferroui_base::media::PathGeometry>::figures_property(), value)
4777    }
4778
4779    /// Sets [`PathGeometry::fill_rule_property`](ferroui_base::media::PathGeometry::fill_rule_property).
4780    fn fill_rule<M>(self, value: impl IntoProp<ferroui_base::media::FillRule, M>) -> Self {
4781        self.prop(<ferroui_base::media::PathGeometry>::fill_rule_property(), value)
4782    }
4783}
4784impl<T: ObjectType + Upcast<ferroui_base::media::PathGeometry>> PathGeometryProps for El<T> {}
4785
4786/// The properties and routed events of [`PathIcon`](ferroui_controls::PathIcon).
4787pub trait PathIconProps: ElementBuilder {
4788    /// Sets [`PathIcon::data_property`](ferroui_controls::PathIcon::data_property).
4789    fn data<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
4790        self.prop(<ferroui_controls::PathIcon>::data_property(), value)
4791    }
4792}
4793impl<T: ObjectType + Upcast<ferroui_controls::PathIcon>> PathIconProps for El<T> {}
4794
4795/// The properties and routed events of [`PathSegment`](ferroui_base::media::PathSegment).
4796pub trait PathSegmentProps: ElementBuilder {
4797    /// Sets [`PathSegment::is_stroked_property`](ferroui_base::media::PathSegment::is_stroked_property).
4798    fn is_stroked<M>(self, value: impl IntoProp<bool, M>) -> Self {
4799        self.prop(<ferroui_base::media::PathSegment>::is_stroked_property(), value)
4800    }
4801}
4802impl<T: ObjectType + Upcast<ferroui_base::media::PathSegment>> PathSegmentProps for El<T> {}
4803
4804/// The properties and routed events of [`Pen`](ferroui_base::media::Pen).
4805pub trait PenProps: ElementBuilder {
4806    /// Sets [`Pen::brush_property`](ferroui_base::media::Pen::brush_property).
4807    fn brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
4808        self.prop(<ferroui_base::media::Pen>::brush_property(), value)
4809    }
4810
4811    /// Sets [`Pen::thickness_property`](ferroui_base::media::Pen::thickness_property).
4812    fn thickness<M>(self, value: impl IntoProp<f64, M>) -> Self {
4813        self.prop(<ferroui_base::media::Pen>::thickness_property(), value)
4814    }
4815
4816    /// Sets [`Pen::dash_style_property`](ferroui_base::media::Pen::dash_style_property).
4817    fn dash_style<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IDashStyle>>, M>) -> Self {
4818        self.prop(<ferroui_base::media::Pen>::dash_style_property(), value)
4819    }
4820
4821    /// Sets [`Pen::line_cap_property`](ferroui_base::media::Pen::line_cap_property).
4822    fn line_cap<M>(self, value: impl IntoProp<ferroui_base::media::PenLineCap, M>) -> Self {
4823        self.prop(<ferroui_base::media::Pen>::line_cap_property(), value)
4824    }
4825
4826    /// Sets [`Pen::line_join_property`](ferroui_base::media::Pen::line_join_property).
4827    fn line_join<M>(self, value: impl IntoProp<ferroui_base::media::PenLineJoin, M>) -> Self {
4828        self.prop(<ferroui_base::media::Pen>::line_join_property(), value)
4829    }
4830
4831    /// Sets [`Pen::miter_limit_property`](ferroui_base::media::Pen::miter_limit_property).
4832    fn miter_limit<M>(self, value: impl IntoProp<f64, M>) -> Self {
4833        self.prop(<ferroui_base::media::Pen>::miter_limit_property(), value)
4834    }
4835}
4836impl<T: ObjectType + Upcast<ferroui_base::media::Pen>> PenProps for El<T> {}
4837
4838/// The properties and routed events of [`PipsPager`](ferroui_controls::PipsPager).
4839pub trait PipsPagerProps: ElementBuilder {
4840    /// Sets [`PipsPager::max_visible_pips_property`](ferroui_controls::PipsPager::max_visible_pips_property).
4841    fn max_visible_pips<M>(self, value: impl IntoProp<i32, M>) -> Self {
4842        self.prop(<ferroui_controls::PipsPager>::max_visible_pips_property(), value)
4843    }
4844
4845    /// Sets [`PipsPager::is_next_button_visible_property`](ferroui_controls::PipsPager::is_next_button_visible_property).
4846    fn is_next_button_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
4847        self.prop(<ferroui_controls::PipsPager>::is_next_button_visible_property(), value)
4848    }
4849
4850    /// Sets [`PipsPager::number_of_pages_property`](ferroui_controls::PipsPager::number_of_pages_property).
4851    fn number_of_pages<M>(self, value: impl IntoProp<i32, M>) -> Self {
4852        self.prop(<ferroui_controls::PipsPager>::number_of_pages_property(), value)
4853    }
4854
4855    /// Sets [`PipsPager::orientation_property`](ferroui_controls::PipsPager::orientation_property).
4856    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
4857        self.prop(<ferroui_controls::PipsPager>::orientation_property(), value)
4858    }
4859
4860    /// Sets [`PipsPager::is_previous_button_visible_property`](ferroui_controls::PipsPager::is_previous_button_visible_property).
4861    fn is_previous_button_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
4862        self.prop(<ferroui_controls::PipsPager>::is_previous_button_visible_property(), value)
4863    }
4864
4865    /// Sets [`PipsPager::selected_page_index_property`](ferroui_controls::PipsPager::selected_page_index_property).
4866    fn selected_page_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
4867        self.prop(<ferroui_controls::PipsPager>::selected_page_index_property(), value)
4868    }
4869
4870    /// Sets [`PipsPager::previous_button_theme_property`](ferroui_controls::PipsPager::previous_button_theme_property).
4871    fn previous_button_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
4872        self.prop(<ferroui_controls::PipsPager>::previous_button_theme_property(), value)
4873    }
4874
4875    /// Sets [`PipsPager::next_button_theme_property`](ferroui_controls::PipsPager::next_button_theme_property).
4876    fn next_button_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
4877        self.prop(<ferroui_controls::PipsPager>::next_button_theme_property(), value)
4878    }
4879}
4880impl<T: ObjectType + Upcast<ferroui_controls::PipsPager>> PipsPagerProps for El<T> {}
4881
4882/// The properties and routed events of [`PolyBezierSegment`](ferroui_base::media::PolyBezierSegment).
4883pub trait PolyBezierSegmentProps: ElementBuilder {
4884    /// Sets [`PolyBezierSegment::points_property`](ferroui_base::media::PolyBezierSegment::points_property).
4885    fn points<M>(self, value: impl IntoProp<Option<ferroui_base::media::Points>, M>) -> Self {
4886        self.prop(<ferroui_base::media::PolyBezierSegment>::points_property(), value)
4887    }
4888}
4889impl<T: ObjectType + Upcast<ferroui_base::media::PolyBezierSegment>> PolyBezierSegmentProps for El<T> {}
4890
4891/// The properties and routed events of [`PolyLineSegment`](ferroui_base::media::PolyLineSegment).
4892pub trait PolyLineSegmentProps: ElementBuilder {
4893    /// Sets [`PolyLineSegment::points_property`](ferroui_base::media::PolyLineSegment::points_property).
4894    fn points<M>(self, value: impl IntoProp<Option<ferroui_base::media::Points>, M>) -> Self {
4895        self.prop(<ferroui_base::media::PolyLineSegment>::points_property(), value)
4896    }
4897}
4898impl<T: ObjectType + Upcast<ferroui_base::media::PolyLineSegment>> PolyLineSegmentProps for El<T> {}
4899
4900/// The properties and routed events of [`Polygon`](ferroui_controls::shapes::Polygon).
4901pub trait PolygonProps: ElementBuilder {
4902    /// Sets [`Polygon::points_property`](ferroui_controls::shapes::Polygon::points_property).
4903    fn points<M>(self, value: impl IntoProp<Option<ferroui_base::media::Points>, M>) -> Self {
4904        self.prop(<ferroui_controls::shapes::Polygon>::points_property(), value)
4905    }
4906
4907    /// Sets [`Polygon::fill_rule_property`](ferroui_controls::shapes::Polygon::fill_rule_property).
4908    fn fill_rule<M>(self, value: impl IntoProp<ferroui_base::media::FillRule, M>) -> Self {
4909        self.prop(<ferroui_controls::shapes::Polygon>::fill_rule_property(), value)
4910    }
4911}
4912impl<T: ObjectType + Upcast<ferroui_controls::shapes::Polygon>> PolygonProps for El<T> {}
4913
4914/// The properties and routed events of [`Polyline`](ferroui_controls::shapes::Polyline).
4915pub trait PolylineProps: ElementBuilder {
4916    /// Sets [`Polyline::points_property`](ferroui_controls::shapes::Polyline::points_property).
4917    fn points<M>(self, value: impl IntoProp<Option<ferroui_base::media::Points>, M>) -> Self {
4918        self.prop(<ferroui_controls::shapes::Polyline>::points_property(), value)
4919    }
4920
4921    /// Sets [`Polyline::fill_rule_property`](ferroui_controls::shapes::Polyline::fill_rule_property).
4922    fn fill_rule<M>(self, value: impl IntoProp<ferroui_base::media::FillRule, M>) -> Self {
4923        self.prop(<ferroui_controls::shapes::Polyline>::fill_rule_property(), value)
4924    }
4925}
4926impl<T: ObjectType + Upcast<ferroui_controls::shapes::Polyline>> PolylineProps for El<T> {}
4927
4928/// The properties and routed events of [`PolylineGeometry`](ferroui_base::media::PolylineGeometry).
4929pub trait PolylineGeometryProps: ElementBuilder {
4930    /// Sets [`PolylineGeometry::points_property`](ferroui_base::media::PolylineGeometry::points_property).
4931    fn points<M>(self, value: impl IntoProp<Option<ferroui_base::media::Points>, M>) -> Self {
4932        self.prop(<ferroui_base::media::PolylineGeometry>::points_property(), value)
4933    }
4934
4935    /// Sets [`PolylineGeometry::is_filled_property`](ferroui_base::media::PolylineGeometry::is_filled_property).
4936    fn is_filled<M>(self, value: impl IntoProp<bool, M>) -> Self {
4937        self.prop(<ferroui_base::media::PolylineGeometry>::is_filled_property(), value)
4938    }
4939}
4940impl<T: ObjectType + Upcast<ferroui_base::media::PolylineGeometry>> PolylineGeometryProps for El<T> {}
4941
4942/// The properties and routed events of [`Popup`](ferroui_controls::primitives::Popup).
4943pub trait PopupProps: ElementBuilder {
4944    /// Sets [`Popup::window_manager_add_shadow_hint_property`](ferroui_controls::primitives::Popup::window_manager_add_shadow_hint_property).
4945    fn window_manager_add_shadow_hint<M>(self, value: impl IntoProp<bool, M>) -> Self {
4946        self.prop(<ferroui_controls::primitives::Popup>::window_manager_add_shadow_hint_property(), value)
4947    }
4948
4949    /// Sets [`Popup::inherits_transform_property`](ferroui_controls::primitives::Popup::inherits_transform_property).
4950    fn inherits_transform<M>(self, value: impl IntoProp<bool, M>) -> Self {
4951        self.prop(<ferroui_controls::primitives::Popup>::inherits_transform_property(), value)
4952    }
4953
4954    /// Sets [`Popup::is_open_property`](ferroui_controls::primitives::Popup::is_open_property).
4955    fn is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
4956        self.prop(<ferroui_controls::primitives::Popup>::is_open_property(), value)
4957    }
4958
4959    /// Sets [`Popup::placement_anchor_property`](ferroui_controls::primitives::Popup::placement_anchor_property).
4960    fn placement_anchor<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupAnchor, M>) -> Self {
4961        self.prop(<ferroui_controls::primitives::Popup>::placement_anchor_property(), value)
4962    }
4963
4964    /// Sets [`Popup::placement_constraint_adjustment_property`](ferroui_controls::primitives::Popup::placement_constraint_adjustment_property).
4965    fn placement_constraint_adjustment<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupPositionerConstraintAdjustment, M>) -> Self {
4966        self.prop(<ferroui_controls::primitives::Popup>::placement_constraint_adjustment_property(), value)
4967    }
4968
4969    /// Sets [`Popup::placement_gravity_property`](ferroui_controls::primitives::Popup::placement_gravity_property).
4970    fn placement_gravity<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupGravity, M>) -> Self {
4971        self.prop(<ferroui_controls::primitives::Popup>::placement_gravity_property(), value)
4972    }
4973
4974    /// Sets [`Popup::placement_property`](ferroui_controls::primitives::Popup::placement_property).
4975    fn placement<M>(self, value: impl IntoProp<ferroui_controls::PlacementMode, M>) -> Self {
4976        self.prop(<ferroui_controls::primitives::Popup>::placement_property(), value)
4977    }
4978
4979    /// Sets [`Popup::placement_rect_property`](ferroui_controls::primitives::Popup::placement_rect_property).
4980    fn placement_rect<M>(self, value: impl IntoProp<Option<ferroui_base::Rect>, M>) -> Self {
4981        self.prop(<ferroui_controls::primitives::Popup>::placement_rect_property(), value)
4982    }
4983
4984    /// Sets [`Popup::custom_popup_placement_callback_property`](ferroui_controls::primitives::Popup::custom_popup_placement_callback_property).
4985    fn custom_popup_placement_callback<M>(self, value: impl IntoProp<Option<ferroui_controls::primitives::CustomPopupPlacementCallbackValue>, M>) -> Self {
4986        self.prop(<ferroui_controls::primitives::Popup>::custom_popup_placement_callback_property(), value)
4987    }
4988
4989    /// Sets [`Popup::overlay_dismiss_event_pass_through_property`](ferroui_controls::primitives::Popup::overlay_dismiss_event_pass_through_property).
4990    fn overlay_dismiss_event_pass_through<M>(self, value: impl IntoProp<bool, M>) -> Self {
4991        self.prop(<ferroui_controls::primitives::Popup>::overlay_dismiss_event_pass_through_property(), value)
4992    }
4993
4994    /// Sets [`Popup::horizontal_offset_property`](ferroui_controls::primitives::Popup::horizontal_offset_property).
4995    fn horizontal_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
4996        self.prop(<ferroui_controls::primitives::Popup>::horizontal_offset_property(), value)
4997    }
4998
4999    /// Sets [`Popup::is_light_dismiss_enabled_property`](ferroui_controls::primitives::Popup::is_light_dismiss_enabled_property).
5000    fn is_light_dismiss_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5001        self.prop(<ferroui_controls::primitives::Popup>::is_light_dismiss_enabled_property(), value)
5002    }
5003
5004    /// Sets [`Popup::vertical_offset_property`](ferroui_controls::primitives::Popup::vertical_offset_property).
5005    fn vertical_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5006        self.prop(<ferroui_controls::primitives::Popup>::vertical_offset_property(), value)
5007    }
5008
5009    /// Sets [`Popup::topmost_property`](ferroui_controls::primitives::Popup::topmost_property).
5010    fn topmost<M>(self, value: impl IntoProp<bool, M>) -> Self {
5011        self.prop(<ferroui_controls::primitives::Popup>::topmost_property(), value)
5012    }
5013
5014    /// Sets [`Popup::takes_focus_from_native_control_property`](ferroui_controls::primitives::Popup::takes_focus_from_native_control_property).
5015    fn takes_focus_from_native_control<M>(self, value: impl IntoProp<bool, M>) -> Self {
5016        self.prop(<ferroui_controls::primitives::Popup>::takes_focus_from_native_control_property(), value)
5017    }
5018
5019    /// Sets [`Popup::should_use_overlay_layer_property`](ferroui_controls::primitives::Popup::should_use_overlay_layer_property).
5020    fn should_use_overlay_layer<M>(self, value: impl IntoProp<bool, M>) -> Self {
5021        self.prop(<ferroui_controls::primitives::Popup>::should_use_overlay_layer_property(), value)
5022    }
5023}
5024impl<T: ObjectType + Upcast<ferroui_controls::primitives::Popup>> PopupProps for El<T> {}
5025
5026/// The properties and routed events of [`PopupFlyoutBase`](ferroui_controls::primitives::PopupFlyoutBase).
5027pub trait PopupFlyoutBaseProps: ElementBuilder {
5028    /// Sets [`PopupFlyoutBase::placement_property`](ferroui_controls::primitives::PopupFlyoutBase::placement_property).
5029    fn placement<M>(self, value: impl IntoProp<ferroui_controls::PlacementMode, M>) -> Self {
5030        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::placement_property(), value)
5031    }
5032
5033    /// Sets [`PopupFlyoutBase::horizontal_offset_property`](ferroui_controls::primitives::PopupFlyoutBase::horizontal_offset_property).
5034    fn horizontal_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5035        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::horizontal_offset_property(), value)
5036    }
5037
5038    /// Sets [`PopupFlyoutBase::vertical_offset_property`](ferroui_controls::primitives::PopupFlyoutBase::vertical_offset_property).
5039    fn vertical_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5040        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::vertical_offset_property(), value)
5041    }
5042
5043    /// Sets [`PopupFlyoutBase::placement_anchor_property`](ferroui_controls::primitives::PopupFlyoutBase::placement_anchor_property).
5044    fn placement_anchor<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupAnchor, M>) -> Self {
5045        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::placement_anchor_property(), value)
5046    }
5047
5048    /// Sets [`PopupFlyoutBase::placement_gravity_property`](ferroui_controls::primitives::PopupFlyoutBase::placement_gravity_property).
5049    fn placement_gravity<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupGravity, M>) -> Self {
5050        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::placement_gravity_property(), value)
5051    }
5052
5053    /// Sets [`PopupFlyoutBase::custom_popup_placement_callback_property`](ferroui_controls::primitives::PopupFlyoutBase::custom_popup_placement_callback_property).
5054    fn custom_popup_placement_callback<M>(self, value: impl IntoProp<Option<ferroui_controls::primitives::CustomPopupPlacementCallbackValue>, M>) -> Self {
5055        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::custom_popup_placement_callback_property(), value)
5056    }
5057
5058    /// Sets [`PopupFlyoutBase::show_mode_property`](ferroui_controls::primitives::PopupFlyoutBase::show_mode_property).
5059    fn show_mode<M>(self, value: impl IntoProp<ferroui_controls::FlyoutShowMode, M>) -> Self {
5060        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::show_mode_property(), value)
5061    }
5062
5063    /// Sets [`PopupFlyoutBase::overlay_dismiss_event_pass_through_property`](ferroui_controls::primitives::PopupFlyoutBase::overlay_dismiss_event_pass_through_property).
5064    fn overlay_dismiss_event_pass_through<M>(self, value: impl IntoProp<bool, M>) -> Self {
5065        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::overlay_dismiss_event_pass_through_property(), value)
5066    }
5067
5068    /// Sets [`PopupFlyoutBase::placement_constraint_adjustment_property`](ferroui_controls::primitives::PopupFlyoutBase::placement_constraint_adjustment_property).
5069    fn placement_constraint_adjustment<M>(self, value: impl IntoProp<ferroui_controls::primitives::popup_positioning::PopupPositionerConstraintAdjustment, M>) -> Self {
5070        self.prop(<ferroui_controls::primitives::PopupFlyoutBase>::placement_constraint_adjustment_property(), value)
5071    }
5072}
5073impl<T: ObjectType + Upcast<ferroui_controls::primitives::PopupFlyoutBase>> PopupFlyoutBaseProps for El<T> {}
5074
5075/// The properties and routed events of [`PopupRoot`](ferroui_controls::primitives::PopupRoot).
5076pub trait PopupRootProps: ElementBuilder {
5077    /// Sets [`PopupRoot::transform_property`](ferroui_controls::primitives::PopupRoot::transform_property).
5078    fn transform<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Transform>>, M>) -> Self {
5079        self.prop(<ferroui_controls::primitives::PopupRoot>::transform_property(), value)
5080    }
5081
5082    /// Sets [`PopupRoot::window_manager_add_shadow_hint_property`](ferroui_controls::primitives::PopupRoot::window_manager_add_shadow_hint_property).
5083    fn window_manager_add_shadow_hint<M>(self, value: impl IntoProp<bool, M>) -> Self {
5084        self.prop(<ferroui_controls::primitives::PopupRoot>::window_manager_add_shadow_hint_property(), value)
5085    }
5086}
5087impl<T: ObjectType + Upcast<ferroui_controls::primitives::PopupRoot>> PopupRootProps for El<T> {}
5088
5089/// The properties and routed events of [`ProgressBar`](ferroui_controls::ProgressBar).
5090pub trait ProgressBarProps: ElementBuilder {
5091    /// Sets [`ProgressBar::is_indeterminate_property`](ferroui_controls::ProgressBar::is_indeterminate_property).
5092    fn is_indeterminate<M>(self, value: impl IntoProp<bool, M>) -> Self {
5093        self.prop(<ferroui_controls::ProgressBar>::is_indeterminate_property(), value)
5094    }
5095
5096    /// Sets [`ProgressBar::show_progress_text_property`](ferroui_controls::ProgressBar::show_progress_text_property).
5097    fn show_progress_text<M>(self, value: impl IntoProp<bool, M>) -> Self {
5098        self.prop(<ferroui_controls::ProgressBar>::show_progress_text_property(), value)
5099    }
5100
5101    /// Sets [`ProgressBar::progress_text_format_property`](ferroui_controls::ProgressBar::progress_text_format_property).
5102    fn progress_text_format<M>(self, value: impl IntoProp<String, M>) -> Self {
5103        self.prop(<ferroui_controls::ProgressBar>::progress_text_format_property(), value)
5104    }
5105
5106    /// Sets [`ProgressBar::orientation_property`](ferroui_controls::ProgressBar::orientation_property).
5107    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
5108        self.prop(<ferroui_controls::ProgressBar>::orientation_property(), value)
5109    }
5110}
5111impl<T: ObjectType + Upcast<ferroui_controls::ProgressBar>> ProgressBarProps for El<T> {}
5112
5113/// The properties and routed events of [`ProgressBarTemplateSettings`](ferroui_controls::ProgressBarTemplateSettings).
5114pub trait ProgressBarTemplateSettingsProps: ElementBuilder {
5115    /// Sets [`ProgressBarTemplateSettings::container_animation_start_position_property`](ferroui_controls::ProgressBarTemplateSettings::container_animation_start_position_property).
5116    fn container_animation_start_position<M>(self, value: impl IntoProp<f64, M>) -> Self {
5117        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container_animation_start_position_property(), value)
5118    }
5119
5120    /// Sets [`ProgressBarTemplateSettings::container_animation_end_position_property`](ferroui_controls::ProgressBarTemplateSettings::container_animation_end_position_property).
5121    fn container_animation_end_position<M>(self, value: impl IntoProp<f64, M>) -> Self {
5122        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container_animation_end_position_property(), value)
5123    }
5124
5125    /// Sets [`ProgressBarTemplateSettings::container2_animation_start_position_property`](ferroui_controls::ProgressBarTemplateSettings::container2_animation_start_position_property).
5126    fn container2_animation_start_position<M>(self, value: impl IntoProp<f64, M>) -> Self {
5127        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container2_animation_start_position_property(), value)
5128    }
5129
5130    /// Sets [`ProgressBarTemplateSettings::container2_animation_end_position_property`](ferroui_controls::ProgressBarTemplateSettings::container2_animation_end_position_property).
5131    fn container2_animation_end_position<M>(self, value: impl IntoProp<f64, M>) -> Self {
5132        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container2_animation_end_position_property(), value)
5133    }
5134
5135    /// Sets [`ProgressBarTemplateSettings::container2_width_property`](ferroui_controls::ProgressBarTemplateSettings::container2_width_property).
5136    fn container2_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
5137        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container2_width_property(), value)
5138    }
5139
5140    /// Sets [`ProgressBarTemplateSettings::container_width_property`](ferroui_controls::ProgressBarTemplateSettings::container_width_property).
5141    fn container_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
5142        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::container_width_property(), value)
5143    }
5144
5145    /// Sets [`ProgressBarTemplateSettings::indeterminate_starting_offset_property`](ferroui_controls::ProgressBarTemplateSettings::indeterminate_starting_offset_property).
5146    fn indeterminate_starting_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5147        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::indeterminate_starting_offset_property(), value)
5148    }
5149
5150    /// Sets [`ProgressBarTemplateSettings::indeterminate_ending_offset_property`](ferroui_controls::ProgressBarTemplateSettings::indeterminate_ending_offset_property).
5151    fn indeterminate_ending_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5152        self.prop(<ferroui_controls::ProgressBarTemplateSettings>::indeterminate_ending_offset_property(), value)
5153    }
5154}
5155impl<T: ObjectType + Upcast<ferroui_controls::ProgressBarTemplateSettings>> ProgressBarTemplateSettingsProps for El<T> {}
5156
5157/// The properties and routed events of [`PullGestureRecognizer`](ferroui_base::input::gesture_recognizers::PullGestureRecognizer).
5158pub trait PullGestureRecognizerProps: ElementBuilder {
5159    /// Sets [`PullGestureRecognizer::pull_direction_property`](ferroui_base::input::gesture_recognizers::PullGestureRecognizer::pull_direction_property).
5160    fn pull_direction<M>(self, value: impl IntoProp<ferroui_base::input::PullDirection, M>) -> Self {
5161        self.prop(<ferroui_base::input::gesture_recognizers::PullGestureRecognizer>::pull_direction_property(), value)
5162    }
5163}
5164impl<T: ObjectType + Upcast<ferroui_base::input::gesture_recognizers::PullGestureRecognizer>> PullGestureRecognizerProps for El<T> {}
5165
5166/// The properties and routed events of [`QuadraticBezierSegment`](ferroui_base::media::QuadraticBezierSegment).
5167pub trait QuadraticBezierSegmentProps: ElementBuilder {
5168    /// Sets [`QuadraticBezierSegment::point1_property`](ferroui_base::media::QuadraticBezierSegment::point1_property).
5169    fn point1<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
5170        self.prop(<ferroui_base::media::QuadraticBezierSegment>::point1_property(), value)
5171    }
5172
5173    /// Sets [`QuadraticBezierSegment::point2_property`](ferroui_base::media::QuadraticBezierSegment::point2_property).
5174    fn point2<M>(self, value: impl IntoProp<ferroui_base::Point, M>) -> Self {
5175        self.prop(<ferroui_base::media::QuadraticBezierSegment>::point2_property(), value)
5176    }
5177}
5178impl<T: ObjectType + Upcast<ferroui_base::media::QuadraticBezierSegment>> QuadraticBezierSegmentProps for El<T> {}
5179
5180/// The properties and routed events of [`RadialGradientBrush`](ferroui_base::media::RadialGradientBrush).
5181pub trait RadialGradientBrushProps: ElementBuilder {
5182    /// Sets [`RadialGradientBrush::center_property`](ferroui_base::media::RadialGradientBrush::center_property).
5183    fn center<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
5184        self.prop(<ferroui_base::media::RadialGradientBrush>::center_property(), value)
5185    }
5186
5187    /// Sets [`RadialGradientBrush::gradient_origin_property`](ferroui_base::media::RadialGradientBrush::gradient_origin_property).
5188    fn gradient_origin<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
5189        self.prop(<ferroui_base::media::RadialGradientBrush>::gradient_origin_property(), value)
5190    }
5191
5192    /// Sets [`RadialGradientBrush::radius_x_property`](ferroui_base::media::RadialGradientBrush::radius_x_property).
5193    fn radius_x<M>(self, value: impl IntoProp<ferroui_base::RelativeScalar, M>) -> Self {
5194        self.prop(<ferroui_base::media::RadialGradientBrush>::radius_x_property(), value)
5195    }
5196
5197    /// Sets [`RadialGradientBrush::radius_y_property`](ferroui_base::media::RadialGradientBrush::radius_y_property).
5198    fn radius_y<M>(self, value: impl IntoProp<ferroui_base::RelativeScalar, M>) -> Self {
5199        self.prop(<ferroui_base::media::RadialGradientBrush>::radius_y_property(), value)
5200    }
5201}
5202impl<T: ObjectType + Upcast<ferroui_base::media::RadialGradientBrush>> RadialGradientBrushProps for El<T> {}
5203
5204/// The properties and routed events of [`RadioButton`](ferroui_controls::RadioButton).
5205pub trait RadioButtonProps: ElementBuilder {
5206    /// Sets [`RadioButton::group_name_property`](ferroui_controls::RadioButton::group_name_property).
5207    fn group_name<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
5208        self.prop(<ferroui_controls::RadioButton>::group_name_property(), value)
5209    }
5210}
5211impl<T: ObjectType + Upcast<ferroui_controls::RadioButton>> RadioButtonProps for El<T> {}
5212
5213/// The properties and routed events of [`RangeBase`](ferroui_controls::primitives::RangeBase).
5214pub trait RangeBaseProps: ElementBuilder {
5215    /// Sets [`RangeBase::minimum_property`](ferroui_controls::primitives::RangeBase::minimum_property).
5216    fn minimum<M>(self, value: impl IntoProp<f64, M>) -> Self {
5217        self.prop(<ferroui_controls::primitives::RangeBase>::minimum_property(), value)
5218    }
5219
5220    /// Sets [`RangeBase::maximum_property`](ferroui_controls::primitives::RangeBase::maximum_property).
5221    fn maximum<M>(self, value: impl IntoProp<f64, M>) -> Self {
5222        self.prop(<ferroui_controls::primitives::RangeBase>::maximum_property(), value)
5223    }
5224
5225    /// Sets [`RangeBase::value_property`](ferroui_controls::primitives::RangeBase::value_property).
5226    fn value<M>(self, value: impl IntoProp<f64, M>) -> Self {
5227        self.prop(<ferroui_controls::primitives::RangeBase>::value_property(), value)
5228    }
5229
5230    /// Sets [`RangeBase::small_change_property`](ferroui_controls::primitives::RangeBase::small_change_property).
5231    fn small_change<M>(self, value: impl IntoProp<f64, M>) -> Self {
5232        self.prop(<ferroui_controls::primitives::RangeBase>::small_change_property(), value)
5233    }
5234
5235    /// Sets [`RangeBase::large_change_property`](ferroui_controls::primitives::RangeBase::large_change_property).
5236    fn large_change<M>(self, value: impl IntoProp<f64, M>) -> Self {
5237        self.prop(<ferroui_controls::primitives::RangeBase>::large_change_property(), value)
5238    }
5239
5240    /// Handles [`RangeBase::value_changed_event`](ferroui_controls::primitives::RangeBase::value_changed_event).
5241    fn on_value_changed(self, handler: impl Fn(&ferroui_controls::primitives::RangeBaseValueChangedEventArgs) + 'static) -> Self {
5242        self.routed(<ferroui_controls::primitives::RangeBase>::value_changed_event(), move |_, e| handler(e))
5243    }
5244}
5245impl<T: ObjectType + Upcast<ferroui_controls::primitives::RangeBase>> RangeBaseProps for El<T> {}
5246
5247/// The properties and routed events of [`Rectangle`](ferroui_controls::shapes::Rectangle).
5248pub trait RectangleProps: ElementBuilder {
5249    /// Sets [`Rectangle::radius_x_property`](ferroui_controls::shapes::Rectangle::radius_x_property).
5250    fn radius_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5251        self.prop(<ferroui_controls::shapes::Rectangle>::radius_x_property(), value)
5252    }
5253
5254    /// Sets [`Rectangle::radius_y_property`](ferroui_controls::shapes::Rectangle::radius_y_property).
5255    fn radius_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5256        self.prop(<ferroui_controls::shapes::Rectangle>::radius_y_property(), value)
5257    }
5258}
5259impl<T: ObjectType + Upcast<ferroui_controls::shapes::Rectangle>> RectangleProps for El<T> {}
5260
5261/// The properties and routed events of [`RectangleGeometry`](ferroui_base::media::RectangleGeometry).
5262pub trait RectangleGeometryProps: ElementBuilder {
5263    /// Sets [`RectangleGeometry::radius_x_property`](ferroui_base::media::RectangleGeometry::radius_x_property).
5264    fn radius_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5265        self.prop(<ferroui_base::media::RectangleGeometry>::radius_x_property(), value)
5266    }
5267
5268    /// Sets [`RectangleGeometry::radius_y_property`](ferroui_base::media::RectangleGeometry::radius_y_property).
5269    fn radius_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5270        self.prop(<ferroui_base::media::RectangleGeometry>::radius_y_property(), value)
5271    }
5272
5273    /// Sets [`RectangleGeometry::rect_property`](ferroui_base::media::RectangleGeometry::rect_property).
5274    fn rect<M>(self, value: impl IntoProp<ferroui_base::Rect, M>) -> Self {
5275        self.prop(<ferroui_base::media::RectangleGeometry>::rect_property(), value)
5276    }
5277}
5278impl<T: ObjectType + Upcast<ferroui_base::media::RectangleGeometry>> RectangleGeometryProps for El<T> {}
5279
5280/// The properties and routed events of [`RefreshContainer`](ferroui_controls::RefreshContainer).
5281pub trait RefreshContainerProps: ElementBuilder {
5282    /// Sets [`RefreshContainer::visualizer_property`](ferroui_controls::RefreshContainer::visualizer_property).
5283    fn visualizer<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::RefreshVisualizer>>, M>) -> Self {
5284        self.prop(<ferroui_controls::RefreshContainer>::visualizer_property(), value)
5285    }
5286
5287    /// Sets [`RefreshContainer::pull_direction_property`](ferroui_controls::RefreshContainer::pull_direction_property).
5288    fn pull_direction<M>(self, value: impl IntoProp<ferroui_base::input::PullDirection, M>) -> Self {
5289        self.prop(<ferroui_controls::RefreshContainer>::pull_direction_property(), value)
5290    }
5291
5292    /// Sets [`RefreshContainer::is_mouse_enabled_property`](ferroui_controls::RefreshContainer::is_mouse_enabled_property).
5293    fn is_mouse_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5294        self.prop(<ferroui_controls::RefreshContainer>::is_mouse_enabled_property(), value)
5295    }
5296
5297    /// Handles [`RefreshContainer::refresh_requested_event`](ferroui_controls::RefreshContainer::refresh_requested_event).
5298    fn on_refresh_requested(self, handler: impl Fn(&ferroui_controls::RefreshRequestedEventArgs) + 'static) -> Self {
5299        self.routed(<ferroui_controls::RefreshContainer>::refresh_requested_event(), move |_, e| handler(e))
5300    }
5301}
5302impl<T: ObjectType + Upcast<ferroui_controls::RefreshContainer>> RefreshContainerProps for El<T> {}
5303
5304/// The properties and routed events of [`RefreshVisualizer`](ferroui_controls::RefreshVisualizer).
5305pub trait RefreshVisualizerProps: ElementBuilder {
5306    /// Sets [`RefreshVisualizer::orientation_property`](ferroui_controls::RefreshVisualizer::orientation_property).
5307    fn orientation<M>(self, value: impl IntoProp<ferroui_controls::RefreshVisualizerOrientation, M>) -> Self {
5308        self.prop(<ferroui_controls::RefreshVisualizer>::orientation_property(), value)
5309    }
5310
5311    /// Handles [`RefreshVisualizer::refresh_requested_event`](ferroui_controls::RefreshVisualizer::refresh_requested_event).
5312    fn on_refresh_requested(self, handler: impl Fn(&ferroui_controls::RefreshRequestedEventArgs) + 'static) -> Self {
5313        self.routed(<ferroui_controls::RefreshVisualizer>::refresh_requested_event(), move |_, e| handler(e))
5314    }
5315}
5316impl<T: ObjectType + Upcast<ferroui_controls::RefreshVisualizer>> RefreshVisualizerProps for El<T> {}
5317
5318/// The properties and routed events of [`RelativePanel`](ferroui_controls::RelativePanel).
5319pub trait RelativePanelProps: ElementBuilder {
5320    /// Sets [`RelativePanel::above_property`](ferroui_controls::RelativePanel::above_property).
5321    fn above<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5322        self.prop(<ferroui_controls::RelativePanel>::above_property(), value)
5323    }
5324
5325    /// Sets [`RelativePanel::align_bottom_with_panel_property`](ferroui_controls::RelativePanel::align_bottom_with_panel_property).
5326    fn align_bottom_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5327        self.prop(<ferroui_controls::RelativePanel>::align_bottom_with_panel_property(), value)
5328    }
5329
5330    /// Sets [`RelativePanel::align_bottom_with_property`](ferroui_controls::RelativePanel::align_bottom_with_property).
5331    fn align_bottom_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5332        self.prop(<ferroui_controls::RelativePanel>::align_bottom_with_property(), value)
5333    }
5334
5335    /// Sets [`RelativePanel::align_horizontal_center_with_panel_property`](ferroui_controls::RelativePanel::align_horizontal_center_with_panel_property).
5336    fn align_horizontal_center_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5337        self.prop(<ferroui_controls::RelativePanel>::align_horizontal_center_with_panel_property(), value)
5338    }
5339
5340    /// Sets [`RelativePanel::align_horizontal_center_with_property`](ferroui_controls::RelativePanel::align_horizontal_center_with_property).
5341    fn align_horizontal_center_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5342        self.prop(<ferroui_controls::RelativePanel>::align_horizontal_center_with_property(), value)
5343    }
5344
5345    /// Sets [`RelativePanel::align_left_with_panel_property`](ferroui_controls::RelativePanel::align_left_with_panel_property).
5346    fn align_left_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5347        self.prop(<ferroui_controls::RelativePanel>::align_left_with_panel_property(), value)
5348    }
5349
5350    /// Sets [`RelativePanel::align_left_with_property`](ferroui_controls::RelativePanel::align_left_with_property).
5351    fn align_left_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5352        self.prop(<ferroui_controls::RelativePanel>::align_left_with_property(), value)
5353    }
5354
5355    /// Sets [`RelativePanel::align_right_with_panel_property`](ferroui_controls::RelativePanel::align_right_with_panel_property).
5356    fn align_right_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5357        self.prop(<ferroui_controls::RelativePanel>::align_right_with_panel_property(), value)
5358    }
5359
5360    /// Sets [`RelativePanel::align_right_with_property`](ferroui_controls::RelativePanel::align_right_with_property).
5361    fn align_right_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5362        self.prop(<ferroui_controls::RelativePanel>::align_right_with_property(), value)
5363    }
5364
5365    /// Sets [`RelativePanel::align_top_with_panel_property`](ferroui_controls::RelativePanel::align_top_with_panel_property).
5366    fn align_top_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5367        self.prop(<ferroui_controls::RelativePanel>::align_top_with_panel_property(), value)
5368    }
5369
5370    /// Sets [`RelativePanel::align_top_with_property`](ferroui_controls::RelativePanel::align_top_with_property).
5371    fn align_top_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5372        self.prop(<ferroui_controls::RelativePanel>::align_top_with_property(), value)
5373    }
5374
5375    /// Sets [`RelativePanel::align_vertical_center_with_panel_property`](ferroui_controls::RelativePanel::align_vertical_center_with_panel_property).
5376    fn align_vertical_center_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
5377        self.prop(<ferroui_controls::RelativePanel>::align_vertical_center_with_panel_property(), value)
5378    }
5379
5380    /// Sets [`RelativePanel::align_vertical_center_with_property`](ferroui_controls::RelativePanel::align_vertical_center_with_property).
5381    fn align_vertical_center_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5382        self.prop(<ferroui_controls::RelativePanel>::align_vertical_center_with_property(), value)
5383    }
5384
5385    /// Sets [`RelativePanel::below_property`](ferroui_controls::RelativePanel::below_property).
5386    fn below<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5387        self.prop(<ferroui_controls::RelativePanel>::below_property(), value)
5388    }
5389
5390    /// Sets [`RelativePanel::left_of_property`](ferroui_controls::RelativePanel::left_of_property).
5391    fn left_of<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5392        self.prop(<ferroui_controls::RelativePanel>::left_of_property(), value)
5393    }
5394
5395    /// Sets [`RelativePanel::right_of_property`](ferroui_controls::RelativePanel::right_of_property).
5396    fn right_of<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5397        self.prop(<ferroui_controls::RelativePanel>::right_of_property(), value)
5398    }
5399}
5400impl<T: ObjectType + Upcast<ferroui_controls::RelativePanel>> RelativePanelProps for El<T> {}
5401
5402/// The properties and routed events of [`RepeatButton`](ferroui_controls::RepeatButton).
5403pub trait RepeatButtonProps: ElementBuilder {
5404    /// Sets [`RepeatButton::interval_property`](ferroui_controls::RepeatButton::interval_property).
5405    fn interval<M>(self, value: impl IntoProp<i32, M>) -> Self {
5406        self.prop(<ferroui_controls::RepeatButton>::interval_property(), value)
5407    }
5408
5409    /// Sets [`RepeatButton::delay_property`](ferroui_controls::RepeatButton::delay_property).
5410    fn delay<M>(self, value: impl IntoProp<i32, M>) -> Self {
5411        self.prop(<ferroui_controls::RepeatButton>::delay_property(), value)
5412    }
5413}
5414impl<T: ObjectType + Upcast<ferroui_controls::RepeatButton>> RepeatButtonProps for El<T> {}
5415
5416/// The properties and routed events of [`ReversibleStackPanel`](ferroui_controls::ReversibleStackPanel).
5417pub trait ReversibleStackPanelProps: ElementBuilder {
5418    /// Sets [`ReversibleStackPanel::reverse_order_property`](ferroui_controls::ReversibleStackPanel::reverse_order_property).
5419    fn reverse_order<M>(self, value: impl IntoProp<bool, M>) -> Self {
5420        self.prop(<ferroui_controls::ReversibleStackPanel>::reverse_order_property(), value)
5421    }
5422}
5423impl<T: ObjectType + Upcast<ferroui_controls::ReversibleStackPanel>> ReversibleStackPanelProps for El<T> {}
5424
5425/// The properties and routed events of [`Rotate3DTransform`](ferroui_base::media::Rotate3DTransform).
5426pub trait Rotate3DTransformProps: ElementBuilder {
5427    /// Sets [`Rotate3DTransform::angle_x_property`](ferroui_base::media::Rotate3DTransform::angle_x_property).
5428    fn angle_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5429        self.prop(<ferroui_base::media::Rotate3DTransform>::angle_x_property(), value)
5430    }
5431
5432    /// Sets [`Rotate3DTransform::angle_y_property`](ferroui_base::media::Rotate3DTransform::angle_y_property).
5433    fn angle_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5434        self.prop(<ferroui_base::media::Rotate3DTransform>::angle_y_property(), value)
5435    }
5436
5437    /// Sets [`Rotate3DTransform::angle_z_property`](ferroui_base::media::Rotate3DTransform::angle_z_property).
5438    fn angle_z<M>(self, value: impl IntoProp<f64, M>) -> Self {
5439        self.prop(<ferroui_base::media::Rotate3DTransform>::angle_z_property(), value)
5440    }
5441
5442    /// Sets [`Rotate3DTransform::center_x_property`](ferroui_base::media::Rotate3DTransform::center_x_property).
5443    fn center_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5444        self.prop(<ferroui_base::media::Rotate3DTransform>::center_x_property(), value)
5445    }
5446
5447    /// Sets [`Rotate3DTransform::center_y_property`](ferroui_base::media::Rotate3DTransform::center_y_property).
5448    fn center_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5449        self.prop(<ferroui_base::media::Rotate3DTransform>::center_y_property(), value)
5450    }
5451
5452    /// Sets [`Rotate3DTransform::center_z_property`](ferroui_base::media::Rotate3DTransform::center_z_property).
5453    fn center_z<M>(self, value: impl IntoProp<f64, M>) -> Self {
5454        self.prop(<ferroui_base::media::Rotate3DTransform>::center_z_property(), value)
5455    }
5456
5457    /// Sets [`Rotate3DTransform::depth_property`](ferroui_base::media::Rotate3DTransform::depth_property).
5458    fn depth<M>(self, value: impl IntoProp<f64, M>) -> Self {
5459        self.prop(<ferroui_base::media::Rotate3DTransform>::depth_property(), value)
5460    }
5461}
5462impl<T: ObjectType + Upcast<ferroui_base::media::Rotate3DTransform>> Rotate3DTransformProps for El<T> {}
5463
5464/// The properties and routed events of [`RotateTransform`](ferroui_base::media::RotateTransform).
5465pub trait RotateTransformProps: ElementBuilder {
5466    /// Sets [`RotateTransform::angle_property`](ferroui_base::media::RotateTransform::angle_property).
5467    fn angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
5468        self.prop(<ferroui_base::media::RotateTransform>::angle_property(), value)
5469    }
5470
5471    /// Sets [`RotateTransform::center_x_property`](ferroui_base::media::RotateTransform::center_x_property).
5472    fn center_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5473        self.prop(<ferroui_base::media::RotateTransform>::center_x_property(), value)
5474    }
5475
5476    /// Sets [`RotateTransform::center_y_property`](ferroui_base::media::RotateTransform::center_y_property).
5477    fn center_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5478        self.prop(<ferroui_base::media::RotateTransform>::center_y_property(), value)
5479    }
5480}
5481impl<T: ObjectType + Upcast<ferroui_base::media::RotateTransform>> RotateTransformProps for El<T> {}
5482
5483/// The properties and routed events of [`RowDefinition`](ferroui_controls::RowDefinition).
5484pub trait RowDefinitionProps: ElementBuilder {
5485    /// Sets [`RowDefinition::max_height_property`](ferroui_controls::RowDefinition::max_height_property).
5486    fn max_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
5487        self.prop(<ferroui_controls::RowDefinition>::max_height_property(), value)
5488    }
5489
5490    /// Sets [`RowDefinition::min_height_property`](ferroui_controls::RowDefinition::min_height_property).
5491    fn min_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
5492        self.prop(<ferroui_controls::RowDefinition>::min_height_property(), value)
5493    }
5494
5495    /// Sets [`RowDefinition::height_property`](ferroui_controls::RowDefinition::height_property).
5496    fn height<M>(self, value: impl IntoProp<ferroui_controls::GridLength, M>) -> Self {
5497        self.prop(<ferroui_controls::RowDefinition>::height_property(), value)
5498    }
5499}
5500impl<T: ObjectType + Upcast<ferroui_controls::RowDefinition>> RowDefinitionProps for El<T> {}
5501
5502/// The properties and routed events of [`Run`](ferroui_controls::documents::Run).
5503pub trait RunProps: ElementBuilder {
5504    /// Sets [`Run::text_property`](ferroui_controls::documents::Run::text_property).
5505    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
5506        self.prop(<ferroui_controls::documents::Run>::text_property(), value)
5507    }
5508}
5509impl<T: ObjectType + Upcast<ferroui_controls::documents::Run>> RunProps for El<T> {}
5510
5511/// The properties and routed events of [`ScaleTransform`](ferroui_base::media::ScaleTransform).
5512pub trait ScaleTransformProps: ElementBuilder {
5513    /// Sets [`ScaleTransform::scale_x_property`](ferroui_base::media::ScaleTransform::scale_x_property).
5514    fn scale_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5515        self.prop(<ferroui_base::media::ScaleTransform>::scale_x_property(), value)
5516    }
5517
5518    /// Sets [`ScaleTransform::scale_y_property`](ferroui_base::media::ScaleTransform::scale_y_property).
5519    fn scale_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5520        self.prop(<ferroui_base::media::ScaleTransform>::scale_y_property(), value)
5521    }
5522}
5523impl<T: ObjectType + Upcast<ferroui_base::media::ScaleTransform>> ScaleTransformProps for El<T> {}
5524
5525/// The properties and routed events of [`ScrollBar`](ferroui_controls::primitives::ScrollBar).
5526pub trait ScrollBarProps: ElementBuilder {
5527    /// Sets [`ScrollBar::viewport_size_property`](ferroui_controls::primitives::ScrollBar::viewport_size_property).
5528    fn viewport_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
5529        self.prop(<ferroui_controls::primitives::ScrollBar>::viewport_size_property(), value)
5530    }
5531
5532    /// Sets [`ScrollBar::visibility_property`](ferroui_controls::primitives::ScrollBar::visibility_property).
5533    fn visibility<M>(self, value: impl IntoProp<ferroui_controls::primitives::ScrollBarVisibility, M>) -> Self {
5534        self.prop(<ferroui_controls::primitives::ScrollBar>::visibility_property(), value)
5535    }
5536
5537    /// Sets [`ScrollBar::orientation_property`](ferroui_controls::primitives::ScrollBar::orientation_property).
5538    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
5539        self.prop(<ferroui_controls::primitives::ScrollBar>::orientation_property(), value)
5540    }
5541
5542    /// Sets [`ScrollBar::allow_auto_hide_property`](ferroui_controls::primitives::ScrollBar::allow_auto_hide_property).
5543    fn allow_auto_hide<M>(self, value: impl IntoProp<bool, M>) -> Self {
5544        self.prop(<ferroui_controls::primitives::ScrollBar>::allow_auto_hide_property(), value)
5545    }
5546
5547    /// Sets [`ScrollBar::hide_delay_property`](ferroui_controls::primitives::ScrollBar::hide_delay_property).
5548    fn hide_delay<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
5549        self.prop(<ferroui_controls::primitives::ScrollBar>::hide_delay_property(), value)
5550    }
5551
5552    /// Sets [`ScrollBar::show_delay_property`](ferroui_controls::primitives::ScrollBar::show_delay_property).
5553    fn show_delay<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
5554        self.prop(<ferroui_controls::primitives::ScrollBar>::show_delay_property(), value)
5555    }
5556}
5557impl<T: ObjectType + Upcast<ferroui_controls::primitives::ScrollBar>> ScrollBarProps for El<T> {}
5558
5559/// The properties and routed events of [`ScrollContentPresenter`](ferroui_controls::presenters::ScrollContentPresenter).
5560pub trait ScrollContentPresenterProps: ElementBuilder {
5561    /// Sets [`ScrollContentPresenter::can_horizontally_scroll_property`](ferroui_controls::presenters::ScrollContentPresenter::can_horizontally_scroll_property).
5562    fn can_horizontally_scroll<M>(self, value: impl IntoProp<bool, M>) -> Self {
5563        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::can_horizontally_scroll_property(), value)
5564    }
5565
5566    /// Sets [`ScrollContentPresenter::can_vertically_scroll_property`](ferroui_controls::presenters::ScrollContentPresenter::can_vertically_scroll_property).
5567    fn can_vertically_scroll<M>(self, value: impl IntoProp<bool, M>) -> Self {
5568        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::can_vertically_scroll_property(), value)
5569    }
5570
5571    /// Sets [`ScrollContentPresenter::extent_property`](ferroui_controls::presenters::ScrollContentPresenter::extent_property).
5572    fn extent<M>(self, value: impl IntoProp<ferroui_base::Size, M>) -> Self {
5573        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::extent_property(), value)
5574    }
5575
5576    /// Sets [`ScrollContentPresenter::offset_property`](ferroui_controls::presenters::ScrollContentPresenter::offset_property).
5577    fn offset<M>(self, value: impl IntoProp<ferroui_base::Vector, M>) -> Self {
5578        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::offset_property(), value)
5579    }
5580
5581    /// Sets [`ScrollContentPresenter::viewport_property`](ferroui_controls::presenters::ScrollContentPresenter::viewport_property).
5582    fn viewport<M>(self, value: impl IntoProp<ferroui_base::Size, M>) -> Self {
5583        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::viewport_property(), value)
5584    }
5585
5586    /// Sets [`ScrollContentPresenter::horizontal_snap_points_type_property`](ferroui_controls::presenters::ScrollContentPresenter::horizontal_snap_points_type_property).
5587    fn horizontal_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
5588        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::horizontal_snap_points_type_property(), value)
5589    }
5590
5591    /// Sets [`ScrollContentPresenter::vertical_snap_points_type_property`](ferroui_controls::presenters::ScrollContentPresenter::vertical_snap_points_type_property).
5592    fn vertical_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
5593        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::vertical_snap_points_type_property(), value)
5594    }
5595
5596    /// Sets [`ScrollContentPresenter::horizontal_snap_points_alignment_property`](ferroui_controls::presenters::ScrollContentPresenter::horizontal_snap_points_alignment_property).
5597    fn horizontal_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
5598        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::horizontal_snap_points_alignment_property(), value)
5599    }
5600
5601    /// Sets [`ScrollContentPresenter::vertical_snap_points_alignment_property`](ferroui_controls::presenters::ScrollContentPresenter::vertical_snap_points_alignment_property).
5602    fn vertical_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
5603        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::vertical_snap_points_alignment_property(), value)
5604    }
5605
5606    /// Sets [`ScrollContentPresenter::is_scroll_chaining_enabled_property`](ferroui_controls::presenters::ScrollContentPresenter::is_scroll_chaining_enabled_property).
5607    fn is_scroll_chaining_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5608        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::is_scroll_chaining_enabled_property(), value)
5609    }
5610}
5611impl<T: ObjectType + Upcast<ferroui_controls::presenters::ScrollContentPresenter>> ScrollContentPresenterProps for El<T> {}
5612
5613/// The properties and routed events of [`ScrollGestureRecognizer`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer).
5614pub trait ScrollGestureRecognizerProps: ElementBuilder {
5615    /// Sets [`ScrollGestureRecognizer::can_horizontally_scroll_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::can_horizontally_scroll_property).
5616    fn can_horizontally_scroll<M>(self, value: impl IntoProp<bool, M>) -> Self {
5617        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::can_horizontally_scroll_property(), value)
5618    }
5619
5620    /// Sets [`ScrollGestureRecognizer::can_vertically_scroll_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::can_vertically_scroll_property).
5621    fn can_vertically_scroll<M>(self, value: impl IntoProp<bool, M>) -> Self {
5622        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::can_vertically_scroll_property(), value)
5623    }
5624
5625    /// Sets [`ScrollGestureRecognizer::is_scroll_inertia_enabled_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::is_scroll_inertia_enabled_property).
5626    fn is_scroll_inertia_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5627        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::is_scroll_inertia_enabled_property(), value)
5628    }
5629
5630    /// Sets [`ScrollGestureRecognizer::scroll_start_distance_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::scroll_start_distance_property).
5631    fn scroll_start_distance<M>(self, value: impl IntoProp<i32, M>) -> Self {
5632        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::scroll_start_distance_property(), value)
5633    }
5634
5635    /// Sets [`ScrollGestureRecognizer::offset_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::offset_property).
5636    fn offset<M>(self, value: impl IntoProp<Option<ferroui_base::Vector>, M>) -> Self {
5637        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::offset_property(), value)
5638    }
5639
5640    /// Sets [`ScrollGestureRecognizer::extent_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::extent_property).
5641    fn extent<M>(self, value: impl IntoProp<Option<ferroui_base::Size>, M>) -> Self {
5642        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::extent_property(), value)
5643    }
5644
5645    /// Sets [`ScrollGestureRecognizer::viewport_property`](ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer::viewport_property).
5646    fn viewport<M>(self, value: impl IntoProp<Option<ferroui_base::Size>, M>) -> Self {
5647        self.prop(<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>::viewport_property(), value)
5648    }
5649}
5650impl<T: ObjectType + Upcast<ferroui_base::input::gesture_recognizers::ScrollGestureRecognizer>> ScrollGestureRecognizerProps for El<T> {}
5651
5652/// The properties and routed events of [`ScrollViewer`](ferroui_controls::ScrollViewer).
5653pub trait ScrollViewerProps: ElementBuilder {
5654    /// Sets [`ScrollViewer::bring_into_view_on_focus_change_property`](ferroui_controls::ScrollViewer::bring_into_view_on_focus_change_property).
5655    fn bring_into_view_on_focus_change<M>(self, value: impl IntoProp<bool, M>) -> Self {
5656        self.prop(<ferroui_controls::ScrollViewer>::bring_into_view_on_focus_change_property(), value)
5657    }
5658
5659    /// Sets [`ScrollViewer::offset_property`](ferroui_controls::ScrollViewer::offset_property).
5660    fn offset<M>(self, value: impl IntoProp<ferroui_base::Vector, M>) -> Self {
5661        self.prop(<ferroui_controls::ScrollViewer>::offset_property(), value)
5662    }
5663
5664    /// Sets [`ScrollViewer::horizontal_scroll_bar_visibility_property`](ferroui_controls::ScrollViewer::horizontal_scroll_bar_visibility_property).
5665    fn horizontal_scroll_bar_visibility<M>(self, value: impl IntoProp<ferroui_controls::primitives::ScrollBarVisibility, M>) -> Self {
5666        self.prop(<ferroui_controls::ScrollViewer>::horizontal_scroll_bar_visibility_property(), value)
5667    }
5668
5669    /// Sets [`ScrollViewer::horizontal_snap_points_type_property`](ferroui_controls::ScrollViewer::horizontal_snap_points_type_property).
5670    fn horizontal_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
5671        self.prop(<ferroui_controls::ScrollViewer>::horizontal_snap_points_type_property(), value)
5672    }
5673
5674    /// Sets [`ScrollViewer::vertical_snap_points_type_property`](ferroui_controls::ScrollViewer::vertical_snap_points_type_property).
5675    fn vertical_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
5676        self.prop(<ferroui_controls::ScrollViewer>::vertical_snap_points_type_property(), value)
5677    }
5678
5679    /// Sets [`ScrollViewer::horizontal_snap_points_alignment_property`](ferroui_controls::ScrollViewer::horizontal_snap_points_alignment_property).
5680    fn horizontal_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
5681        self.prop(<ferroui_controls::ScrollViewer>::horizontal_snap_points_alignment_property(), value)
5682    }
5683
5684    /// Sets [`ScrollViewer::vertical_snap_points_alignment_property`](ferroui_controls::ScrollViewer::vertical_snap_points_alignment_property).
5685    fn vertical_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
5686        self.prop(<ferroui_controls::ScrollViewer>::vertical_snap_points_alignment_property(), value)
5687    }
5688
5689    /// Sets [`ScrollViewer::vertical_scroll_bar_visibility_property`](ferroui_controls::ScrollViewer::vertical_scroll_bar_visibility_property).
5690    fn vertical_scroll_bar_visibility<M>(self, value: impl IntoProp<ferroui_controls::primitives::ScrollBarVisibility, M>) -> Self {
5691        self.prop(<ferroui_controls::ScrollViewer>::vertical_scroll_bar_visibility_property(), value)
5692    }
5693
5694    /// Sets [`ScrollViewer::is_expanded_property`](ferroui_controls::ScrollViewer::is_expanded_property).
5695    fn is_expanded<M>(self, value: impl IntoProp<bool, M>) -> Self {
5696        self.prop(<ferroui_controls::ScrollViewer>::is_expanded_property(), value)
5697    }
5698
5699    /// Sets [`ScrollViewer::allow_auto_hide_property`](ferroui_controls::ScrollViewer::allow_auto_hide_property).
5700    fn allow_auto_hide<M>(self, value: impl IntoProp<bool, M>) -> Self {
5701        self.prop(<ferroui_controls::ScrollViewer>::allow_auto_hide_property(), value)
5702    }
5703
5704    /// Sets [`ScrollViewer::is_scroll_chaining_enabled_property`](ferroui_controls::ScrollViewer::is_scroll_chaining_enabled_property).
5705    fn is_scroll_chaining_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5706        self.prop(<ferroui_controls::ScrollViewer>::is_scroll_chaining_enabled_property(), value)
5707    }
5708
5709    /// Sets [`ScrollViewer::is_scroll_inertia_enabled_property`](ferroui_controls::ScrollViewer::is_scroll_inertia_enabled_property).
5710    fn is_scroll_inertia_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5711        self.prop(<ferroui_controls::ScrollViewer>::is_scroll_inertia_enabled_property(), value)
5712    }
5713
5714    /// Sets [`ScrollViewer::is_deferred_scrolling_enabled_property`](ferroui_controls::ScrollViewer::is_deferred_scrolling_enabled_property).
5715    fn is_deferred_scrolling_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5716        self.prop(<ferroui_controls::ScrollViewer>::is_deferred_scrolling_enabled_property(), value)
5717    }
5718
5719    /// Handles [`ScrollViewer::scroll_changed_event`](ferroui_controls::ScrollViewer::scroll_changed_event).
5720    fn on_scroll_changed(self, handler: impl Fn(&ferroui_controls::ScrollChangedEventArgs) + 'static) -> Self {
5721        self.routed(<ferroui_controls::ScrollViewer>::scroll_changed_event(), move |_, e| handler(e))
5722    }
5723}
5724impl<T: ObjectType + Upcast<ferroui_controls::ScrollViewer>> ScrollViewerProps for El<T> {}
5725
5726/// The properties and routed events of [`Sector`](ferroui_controls::shapes::Sector).
5727pub trait SectorProps: ElementBuilder {
5728    /// Sets [`Sector::start_angle_property`](ferroui_controls::shapes::Sector::start_angle_property).
5729    fn start_angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
5730        self.prop(<ferroui_controls::shapes::Sector>::start_angle_property(), value)
5731    }
5732
5733    /// Sets [`Sector::sweep_angle_property`](ferroui_controls::shapes::Sector::sweep_angle_property).
5734    fn sweep_angle<M>(self, value: impl IntoProp<f64, M>) -> Self {
5735        self.prop(<ferroui_controls::shapes::Sector>::sweep_angle_property(), value)
5736    }
5737}
5738impl<T: ObjectType + Upcast<ferroui_controls::shapes::Sector>> SectorProps for El<T> {}
5739
5740/// The properties and routed events of [`SelectableTextBlock`](ferroui_controls::SelectableTextBlock).
5741pub trait SelectableTextBlockProps: ElementBuilder {
5742    /// Sets [`SelectableTextBlock::selection_start_property`](ferroui_controls::SelectableTextBlock::selection_start_property).
5743    fn selection_start<M>(self, value: impl IntoProp<i32, M>) -> Self {
5744        self.prop(<ferroui_controls::SelectableTextBlock>::selection_start_property(), value)
5745    }
5746
5747    /// Sets [`SelectableTextBlock::selection_end_property`](ferroui_controls::SelectableTextBlock::selection_end_property).
5748    fn selection_end<M>(self, value: impl IntoProp<i32, M>) -> Self {
5749        self.prop(<ferroui_controls::SelectableTextBlock>::selection_end_property(), value)
5750    }
5751
5752    /// Sets [`SelectableTextBlock::selection_brush_property`](ferroui_controls::SelectableTextBlock::selection_brush_property).
5753    fn selection_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
5754        self.prop(<ferroui_controls::SelectableTextBlock>::selection_brush_property(), value)
5755    }
5756
5757    /// Sets [`SelectableTextBlock::selection_foreground_brush_property`](ferroui_controls::SelectableTextBlock::selection_foreground_brush_property).
5758    fn selection_foreground_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
5759        self.prop(<ferroui_controls::SelectableTextBlock>::selection_foreground_brush_property(), value)
5760    }
5761
5762    /// Sets [`SelectableTextBlock::can_copy_property`](ferroui_controls::SelectableTextBlock::can_copy_property).
5763    fn can_copy<M>(self, value: impl IntoProp<bool, M>) -> Self {
5764        self.prop(<ferroui_controls::SelectableTextBlock>::can_copy_property(), value)
5765    }
5766
5767    /// Handles [`SelectableTextBlock::copying_to_clipboard_event`](ferroui_controls::SelectableTextBlock::copying_to_clipboard_event).
5768    fn on_copying_to_clipboard(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
5769        self.routed(<ferroui_controls::SelectableTextBlock>::copying_to_clipboard_event(), move |_, e| handler(e))
5770    }
5771}
5772impl<T: ObjectType + Upcast<ferroui_controls::SelectableTextBlock>> SelectableTextBlockProps for El<T> {}
5773
5774/// The properties and routed events of [`SelectingItemsControl`](ferroui_controls::primitives::SelectingItemsControl).
5775pub trait SelectingItemsControlProps: ElementBuilder {
5776    /// Sets [`SelectingItemsControl::auto_scroll_to_selected_item_property`](ferroui_controls::primitives::SelectingItemsControl::auto_scroll_to_selected_item_property).
5777    fn auto_scroll_to_selected_item<M>(self, value: impl IntoProp<bool, M>) -> Self {
5778        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::auto_scroll_to_selected_item_property(), value)
5779    }
5780
5781    /// Sets [`SelectingItemsControl::selected_index_property`](ferroui_controls::primitives::SelectingItemsControl::selected_index_property).
5782    fn selected_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
5783        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::selected_index_property(), value)
5784    }
5785
5786    /// Sets [`SelectingItemsControl::selected_item_property`](ferroui_controls::primitives::SelectingItemsControl::selected_item_property).
5787    fn selected_item<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5788        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::selected_item_property(), value)
5789    }
5790
5791    /// Sets [`SelectingItemsControl::selected_value_property`](ferroui_controls::primitives::SelectingItemsControl::selected_value_property).
5792    fn selected_value<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5793        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::selected_value_property(), value)
5794    }
5795
5796    /// Sets [`SelectingItemsControl::selection_property`](ferroui_controls::primitives::SelectingItemsControl::selection_property).
5797    fn selection<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::selection::ISelectionModel>>, M>) -> Self {
5798        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::selection_property(), value)
5799    }
5800
5801    /// Sets [`SelectingItemsControl::selection_mode_property`](ferroui_controls::primitives::SelectingItemsControl::selection_mode_property).
5802    fn selection_mode<M>(self, value: impl IntoProp<ferroui_controls::SelectionMode, M>) -> Self {
5803        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::selection_mode_property(), value)
5804    }
5805
5806    /// Sets [`SelectingItemsControl::is_selected_property`](ferroui_controls::primitives::SelectingItemsControl::is_selected_property).
5807    fn is_selected<M>(self, value: impl IntoProp<bool, M>) -> Self {
5808        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::is_selected_property(), value)
5809    }
5810
5811    /// Sets [`SelectingItemsControl::is_text_search_enabled_property`](ferroui_controls::primitives::SelectingItemsControl::is_text_search_enabled_property).
5812    fn is_text_search_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5813        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::is_text_search_enabled_property(), value)
5814    }
5815
5816    /// Sets [`SelectingItemsControl::wrap_selection_property`](ferroui_controls::primitives::SelectingItemsControl::wrap_selection_property).
5817    fn wrap_selection<M>(self, value: impl IntoProp<bool, M>) -> Self {
5818        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::wrap_selection_property(), value)
5819    }
5820
5821    /// Handles [`SelectingItemsControl::is_selected_changed_event`](ferroui_controls::primitives::SelectingItemsControl::is_selected_changed_event).
5822    fn on_is_selected_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
5823        self.routed(<ferroui_controls::primitives::SelectingItemsControl>::is_selected_changed_event(), move |_, e| handler(e))
5824    }
5825
5826    /// Handles [`SelectingItemsControl::selection_changed_event`](ferroui_controls::primitives::SelectingItemsControl::selection_changed_event).
5827    fn on_selection_changed(self, handler: impl Fn(&ferroui_controls::SelectionChangedEventArgs) + 'static) -> Self {
5828        self.routed(<ferroui_controls::primitives::SelectingItemsControl>::selection_changed_event(), move |_, e| handler(e))
5829    }
5830}
5831impl<T: ObjectType + Upcast<ferroui_controls::primitives::SelectingItemsControl>> SelectingItemsControlProps for El<T> {}
5832
5833/// The properties and routed events of [`SelectingMultiPage`](ferroui_controls::SelectingMultiPage).
5834pub trait SelectingMultiPageProps: ElementBuilder {
5835    /// Sets [`SelectingMultiPage::selected_index_property`](ferroui_controls::SelectingMultiPage::selected_index_property).
5836    fn selected_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
5837        self.prop(<ferroui_controls::SelectingMultiPage>::selected_index_property(), value)
5838    }
5839
5840    /// Handles [`SelectingMultiPage::selection_changed_event`](ferroui_controls::SelectingMultiPage::selection_changed_event).
5841    fn on_selection_changed(self, handler: impl Fn(&ferroui_controls::PageSelectionChangedEventArgs) + 'static) -> Self {
5842        self.routed(<ferroui_controls::SelectingMultiPage>::selection_changed_event(), move |_, e| handler(e))
5843    }
5844}
5845impl<T: ObjectType + Upcast<ferroui_controls::SelectingMultiPage>> SelectingMultiPageProps for El<T> {}
5846
5847/// The properties and routed events of [`Shape`](ferroui_controls::shapes::Shape).
5848pub trait ShapeProps: ElementBuilder {
5849    /// Sets [`Shape::fill_property`](ferroui_controls::shapes::Shape::fill_property).
5850    fn fill<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
5851        self.prop(<ferroui_controls::shapes::Shape>::fill_property(), value)
5852    }
5853
5854    /// Sets [`Shape::stretch_property`](ferroui_controls::shapes::Shape::stretch_property).
5855    fn stretch<M>(self, value: impl IntoProp<ferroui_base::media::Stretch, M>) -> Self {
5856        self.prop(<ferroui_controls::shapes::Shape>::stretch_property(), value)
5857    }
5858
5859    /// Sets [`Shape::stroke_property`](ferroui_controls::shapes::Shape::stroke_property).
5860    fn stroke<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
5861        self.prop(<ferroui_controls::shapes::Shape>::stroke_property(), value)
5862    }
5863
5864    /// Sets [`Shape::stroke_dash_array_property`](ferroui_controls::shapes::Shape::stroke_dash_array_property).
5865    fn stroke_dash_array<M>(self, value: impl IntoProp<Option<ferroui_base::media::MediaCollection<f64>>, M>) -> Self {
5866        self.prop(<ferroui_controls::shapes::Shape>::stroke_dash_array_property(), value)
5867    }
5868
5869    /// Sets [`Shape::stroke_dash_offset_property`](ferroui_controls::shapes::Shape::stroke_dash_offset_property).
5870    fn stroke_dash_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
5871        self.prop(<ferroui_controls::shapes::Shape>::stroke_dash_offset_property(), value)
5872    }
5873
5874    /// Sets [`Shape::stroke_thickness_property`](ferroui_controls::shapes::Shape::stroke_thickness_property).
5875    fn stroke_thickness<M>(self, value: impl IntoProp<f64, M>) -> Self {
5876        self.prop(<ferroui_controls::shapes::Shape>::stroke_thickness_property(), value)
5877    }
5878
5879    /// Sets [`Shape::stroke_line_cap_property`](ferroui_controls::shapes::Shape::stroke_line_cap_property).
5880    fn stroke_line_cap<M>(self, value: impl IntoProp<ferroui_base::media::PenLineCap, M>) -> Self {
5881        self.prop(<ferroui_controls::shapes::Shape>::stroke_line_cap_property(), value)
5882    }
5883
5884    /// Sets [`Shape::stroke_join_property`](ferroui_controls::shapes::Shape::stroke_join_property).
5885    fn stroke_join<M>(self, value: impl IntoProp<ferroui_base::media::PenLineJoin, M>) -> Self {
5886        self.prop(<ferroui_controls::shapes::Shape>::stroke_join_property(), value)
5887    }
5888
5889    /// Sets [`Shape::stroke_miter_limit_property`](ferroui_controls::shapes::Shape::stroke_miter_limit_property).
5890    fn stroke_miter_limit<M>(self, value: impl IntoProp<f64, M>) -> Self {
5891        self.prop(<ferroui_controls::shapes::Shape>::stroke_miter_limit_property(), value)
5892    }
5893}
5894impl<T: ObjectType + Upcast<ferroui_controls::shapes::Shape>> ShapeProps for El<T> {}
5895
5896/// The properties and routed events of [`SkewTransform`](ferroui_base::media::SkewTransform).
5897pub trait SkewTransformProps: ElementBuilder {
5898    /// Sets [`SkewTransform::angle_x_property`](ferroui_base::media::SkewTransform::angle_x_property).
5899    fn angle_x<M>(self, value: impl IntoProp<f64, M>) -> Self {
5900        self.prop(<ferroui_base::media::SkewTransform>::angle_x_property(), value)
5901    }
5902
5903    /// Sets [`SkewTransform::angle_y_property`](ferroui_base::media::SkewTransform::angle_y_property).
5904    fn angle_y<M>(self, value: impl IntoProp<f64, M>) -> Self {
5905        self.prop(<ferroui_base::media::SkewTransform>::angle_y_property(), value)
5906    }
5907}
5908impl<T: ObjectType + Upcast<ferroui_base::media::SkewTransform>> SkewTransformProps for El<T> {}
5909
5910/// The properties and routed events of [`Slider`](ferroui_controls::Slider).
5911pub trait SliderProps: ElementBuilder {
5912    /// Sets [`Slider::orientation_property`](ferroui_controls::Slider::orientation_property).
5913    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
5914        self.prop(<ferroui_controls::Slider>::orientation_property(), value)
5915    }
5916
5917    /// Sets [`Slider::is_direction_reversed_property`](ferroui_controls::Slider::is_direction_reversed_property).
5918    fn is_direction_reversed<M>(self, value: impl IntoProp<bool, M>) -> Self {
5919        self.prop(<ferroui_controls::Slider>::is_direction_reversed_property(), value)
5920    }
5921
5922    /// Sets [`Slider::is_snap_to_tick_enabled_property`](ferroui_controls::Slider::is_snap_to_tick_enabled_property).
5923    fn is_snap_to_tick_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
5924        self.prop(<ferroui_controls::Slider>::is_snap_to_tick_enabled_property(), value)
5925    }
5926
5927    /// Sets [`Slider::tick_frequency_property`](ferroui_controls::Slider::tick_frequency_property).
5928    fn tick_frequency<M>(self, value: impl IntoProp<f64, M>) -> Self {
5929        self.prop(<ferroui_controls::Slider>::tick_frequency_property(), value)
5930    }
5931
5932    /// Sets [`Slider::tick_placement_property`](ferroui_controls::Slider::tick_placement_property).
5933    fn tick_placement<M>(self, value: impl IntoProp<ferroui_controls::TickPlacement, M>) -> Self {
5934        self.prop(<ferroui_controls::Slider>::tick_placement_property(), value)
5935    }
5936
5937    /// Sets [`Slider::ticks_property`](ferroui_controls::Slider::ticks_property).
5938    fn ticks<M>(self, value: impl IntoProp<Option<ferroui_controls::TickList>, M>) -> Self {
5939        self.prop(<ferroui_controls::Slider>::ticks_property(), value)
5940    }
5941}
5942impl<T: ObjectType + Upcast<ferroui_controls::Slider>> SliderProps for El<T> {}
5943
5944/// The properties and routed events of [`SolidColorBrush`](ferroui_base::media::SolidColorBrush).
5945pub trait SolidColorBrushProps: ElementBuilder {
5946    /// Sets [`SolidColorBrush::color_property`](ferroui_base::media::SolidColorBrush::color_property).
5947    fn color<M>(self, value: impl IntoProp<ferroui_base::media::Color, M>) -> Self {
5948        self.prop(<ferroui_base::media::SolidColorBrush>::color_property(), value)
5949    }
5950}
5951impl<T: ObjectType + Upcast<ferroui_base::media::SolidColorBrush>> SolidColorBrushProps for El<T> {}
5952
5953/// The properties and routed events of [`Span`](ferroui_controls::documents::Span).
5954pub trait SpanProps: ElementBuilder {
5955    /// Sets [`Span::inlines_property`](ferroui_controls::documents::Span::inlines_property).
5956    fn inlines<M>(self, value: impl IntoProp<Option<ferroui_controls::documents::InlineCollection>, M>) -> Self {
5957        self.prop(<ferroui_controls::documents::Span>::inlines_property(), value)
5958    }
5959}
5960impl<T: ObjectType + Upcast<ferroui_controls::documents::Span>> SpanProps for El<T> {}
5961
5962/// The properties and routed events of [`Spinner`](ferroui_controls::Spinner).
5963pub trait SpinnerProps: ElementBuilder {
5964    /// Sets [`Spinner::valid_spin_direction_property`](ferroui_controls::Spinner::valid_spin_direction_property).
5965    fn valid_spin_direction<M>(self, value: impl IntoProp<ferroui_controls::ValidSpinDirections, M>) -> Self {
5966        self.prop(<ferroui_controls::Spinner>::valid_spin_direction_property(), value)
5967    }
5968
5969    /// Handles [`Spinner::spin_event`](ferroui_controls::Spinner::spin_event).
5970    fn on_spin(self, handler: impl Fn(&ferroui_controls::SpinEventArgs) + 'static) -> Self {
5971        self.routed(<ferroui_controls::Spinner>::spin_event(), move |_, e| handler(e))
5972    }
5973}
5974impl<T: ObjectType + Upcast<ferroui_controls::Spinner>> SpinnerProps for El<T> {}
5975
5976/// The properties and routed events of [`SplitButton`](ferroui_controls::SplitButton).
5977pub trait SplitButtonProps: ElementBuilder {
5978    /// Sets [`SplitButton::command_property`](ferroui_controls::SplitButton::command_property).
5979    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
5980        self.prop(<ferroui_controls::SplitButton>::command_property(), value)
5981    }
5982
5983    /// Sets [`SplitButton::command_parameter_property`](ferroui_controls::SplitButton::command_parameter_property).
5984    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
5985        self.prop(<ferroui_controls::SplitButton>::command_parameter_property(), value)
5986    }
5987
5988    /// Sets [`SplitButton::flyout_property`](ferroui_controls::SplitButton::flyout_property).
5989    fn flyout<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::FlyoutBase>>, M>) -> Self {
5990        self.prop(<ferroui_controls::SplitButton>::flyout_property(), value)
5991    }
5992
5993    /// Sets [`SplitButton::hot_key_property`](ferroui_controls::SplitButton::hot_key_property).
5994    fn hot_key<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
5995        self.prop(<ferroui_controls::SplitButton>::hot_key_property(), value)
5996    }
5997
5998    /// Handles [`SplitButton::click_event`](ferroui_controls::SplitButton::click_event).
5999    fn on_click(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6000        self.routed(<ferroui_controls::SplitButton>::click_event(), move |_, e| handler(e))
6001    }
6002}
6003impl<T: ObjectType + Upcast<ferroui_controls::SplitButton>> SplitButtonProps for El<T> {}
6004
6005/// The properties and routed events of [`SplitView`](ferroui_controls::SplitView).
6006pub trait SplitViewProps: ElementBuilder {
6007    /// Sets [`SplitView::compact_pane_length_property`](ferroui_controls::SplitView::compact_pane_length_property).
6008    fn compact_pane_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
6009        self.prop(<ferroui_controls::SplitView>::compact_pane_length_property(), value)
6010    }
6011
6012    /// Sets [`SplitView::display_mode_property`](ferroui_controls::SplitView::display_mode_property).
6013    fn display_mode<M>(self, value: impl IntoProp<ferroui_controls::SplitViewDisplayMode, M>) -> Self {
6014        self.prop(<ferroui_controls::SplitView>::display_mode_property(), value)
6015    }
6016
6017    /// Sets [`SplitView::is_pane_open_property`](ferroui_controls::SplitView::is_pane_open_property).
6018    fn is_pane_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
6019        self.prop(<ferroui_controls::SplitView>::is_pane_open_property(), value)
6020    }
6021
6022    /// Sets [`SplitView::open_pane_length_property`](ferroui_controls::SplitView::open_pane_length_property).
6023    fn open_pane_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
6024        self.prop(<ferroui_controls::SplitView>::open_pane_length_property(), value)
6025    }
6026
6027    /// Sets [`SplitView::pane_background_property`](ferroui_controls::SplitView::pane_background_property).
6028    fn pane_background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6029        self.prop(<ferroui_controls::SplitView>::pane_background_property(), value)
6030    }
6031
6032    /// Sets [`SplitView::pane_placement_property`](ferroui_controls::SplitView::pane_placement_property).
6033    fn pane_placement<M>(self, value: impl IntoProp<ferroui_controls::SplitViewPanePlacement, M>) -> Self {
6034        self.prop(<ferroui_controls::SplitView>::pane_placement_property(), value)
6035    }
6036
6037    /// Sets [`SplitView::pane_property`](ferroui_controls::SplitView::pane_property).
6038    fn pane<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6039        self.prop(<ferroui_controls::SplitView>::pane_property(), value)
6040    }
6041
6042    /// Sets [`SplitView::pane_template_property`](ferroui_controls::SplitView::pane_template_property).
6043    fn pane_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6044        self.prop(<ferroui_controls::SplitView>::pane_template_property(), value)
6045    }
6046
6047    /// Sets [`SplitView::use_light_dismiss_overlay_mode_property`](ferroui_controls::SplitView::use_light_dismiss_overlay_mode_property).
6048    fn use_light_dismiss_overlay_mode<M>(self, value: impl IntoProp<bool, M>) -> Self {
6049        self.prop(<ferroui_controls::SplitView>::use_light_dismiss_overlay_mode_property(), value)
6050    }
6051
6052    /// Handles [`SplitView::pane_closed_event`](ferroui_controls::SplitView::pane_closed_event).
6053    fn on_pane_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6054        self.routed(<ferroui_controls::SplitView>::pane_closed_event(), move |_, e| handler(e))
6055    }
6056
6057    /// Handles [`SplitView::pane_opened_event`](ferroui_controls::SplitView::pane_opened_event).
6058    fn on_pane_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6059        self.routed(<ferroui_controls::SplitView>::pane_opened_event(), move |_, e| handler(e))
6060    }
6061}
6062impl<T: ObjectType + Upcast<ferroui_controls::SplitView>> SplitViewProps for El<T> {}
6063
6064/// The properties and routed events of [`SplitViewTemplateSettings`](ferroui_controls::primitives::SplitViewTemplateSettings).
6065pub trait SplitViewTemplateSettingsProps: ElementBuilder {
6066    /// Sets [`SplitViewTemplateSettings::closed_pane_width_property`](ferroui_controls::primitives::SplitViewTemplateSettings::closed_pane_width_property).
6067    fn closed_pane_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
6068        self.prop(<ferroui_controls::primitives::SplitViewTemplateSettings>::closed_pane_width_property(), value)
6069    }
6070
6071    /// Sets [`SplitViewTemplateSettings::pane_column_grid_length_property`](ferroui_controls::primitives::SplitViewTemplateSettings::pane_column_grid_length_property).
6072    fn pane_column_grid_length<M>(self, value: impl IntoProp<ferroui_controls::GridLength, M>) -> Self {
6073        self.prop(<ferroui_controls::primitives::SplitViewTemplateSettings>::pane_column_grid_length_property(), value)
6074    }
6075
6076    /// Sets [`SplitViewTemplateSettings::closed_pane_height_property`](ferroui_controls::primitives::SplitViewTemplateSettings::closed_pane_height_property).
6077    fn closed_pane_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
6078        self.prop(<ferroui_controls::primitives::SplitViewTemplateSettings>::closed_pane_height_property(), value)
6079    }
6080
6081    /// Sets [`SplitViewTemplateSettings::pane_row_grid_length_property`](ferroui_controls::primitives::SplitViewTemplateSettings::pane_row_grid_length_property).
6082    fn pane_row_grid_length<M>(self, value: impl IntoProp<ferroui_controls::GridLength, M>) -> Self {
6083        self.prop(<ferroui_controls::primitives::SplitViewTemplateSettings>::pane_row_grid_length_property(), value)
6084    }
6085}
6086impl<T: ObjectType + Upcast<ferroui_controls::primitives::SplitViewTemplateSettings>> SplitViewTemplateSettingsProps for El<T> {}
6087
6088/// The properties and routed events of [`StackPanel`](ferroui_controls::StackPanel).
6089pub trait StackPanelProps: ElementBuilder {
6090    /// Sets [`StackPanel::spacing_property`](ferroui_controls::StackPanel::spacing_property).
6091    fn spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6092        self.prop(<ferroui_controls::StackPanel>::spacing_property(), value)
6093    }
6094
6095    /// Sets [`StackPanel::orientation_property`](ferroui_controls::StackPanel::orientation_property).
6096    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
6097        self.prop(<ferroui_controls::StackPanel>::orientation_property(), value)
6098    }
6099
6100    /// Sets [`StackPanel::are_horizontal_snap_points_regular_property`](ferroui_controls::StackPanel::are_horizontal_snap_points_regular_property).
6101    fn are_horizontal_snap_points_regular<M>(self, value: impl IntoProp<bool, M>) -> Self {
6102        self.prop(<ferroui_controls::StackPanel>::are_horizontal_snap_points_regular_property(), value)
6103    }
6104
6105    /// Sets [`StackPanel::are_vertical_snap_points_regular_property`](ferroui_controls::StackPanel::are_vertical_snap_points_regular_property).
6106    fn are_vertical_snap_points_regular<M>(self, value: impl IntoProp<bool, M>) -> Self {
6107        self.prop(<ferroui_controls::StackPanel>::are_vertical_snap_points_regular_property(), value)
6108    }
6109
6110    /// Handles [`StackPanel::horizontal_snap_points_changed_event`](ferroui_controls::StackPanel::horizontal_snap_points_changed_event).
6111    fn on_horizontal_snap_points_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6112        self.routed(<ferroui_controls::StackPanel>::horizontal_snap_points_changed_event(), move |_, e| handler(e))
6113    }
6114
6115    /// Handles [`StackPanel::vertical_snap_points_changed_event`](ferroui_controls::StackPanel::vertical_snap_points_changed_event).
6116    fn on_vertical_snap_points_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6117        self.routed(<ferroui_controls::StackPanel>::vertical_snap_points_changed_event(), move |_, e| handler(e))
6118    }
6119}
6120impl<T: ObjectType + Upcast<ferroui_controls::StackPanel>> StackPanelProps for El<T> {}
6121
6122/// The properties and routed events of [`StyledElement`](ferroui_base::StyledElement).
6123pub trait StyledElementProps: ElementBuilder {
6124    /// Sets [`StyledElement::data_context_property`](ferroui_base::StyledElement::data_context_property).
6125    fn data_context<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6126        self.prop(<ferroui_base::StyledElement>::data_context_property(), value)
6127    }
6128
6129    /// Sets [`StyledElement::theme_property`](ferroui_base::StyledElement::theme_property).
6130    fn theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
6131        self.prop(<ferroui_base::StyledElement>::theme_property(), value)
6132    }
6133
6134    /// Sets [`ThemeVariant::actual_theme_variant_property`](ferroui_base::styling::ThemeVariant::actual_theme_variant_property).
6135    fn actual_theme_variant<M>(self, value: impl IntoProp<Option<ferroui_base::styling::ThemeVariant>, M>) -> Self {
6136        self.prop(<ferroui_base::styling::ThemeVariant>::actual_theme_variant_property(), value)
6137    }
6138
6139    /// Sets [`ThemeVariant::requested_theme_variant_property`](ferroui_base::styling::ThemeVariant::requested_theme_variant_property).
6140    fn requested_theme_variant<M>(self, value: impl IntoProp<Option<ferroui_base::styling::ThemeVariant>, M>) -> Self {
6141        self.prop(<ferroui_base::styling::ThemeVariant>::requested_theme_variant_property(), value)
6142    }
6143}
6144impl<T: ObjectType + Upcast<ferroui_base::StyledElement>> StyledElementProps for El<T> {}
6145
6146/// The properties and routed events of [`SwipeGestureRecognizer`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer).
6147pub trait SwipeGestureRecognizerProps: ElementBuilder {
6148    /// Sets [`SwipeGestureRecognizer::can_horizontally_swipe_property`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer::can_horizontally_swipe_property).
6149    fn can_horizontally_swipe<M>(self, value: impl IntoProp<bool, M>) -> Self {
6150        self.prop(<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>::can_horizontally_swipe_property(), value)
6151    }
6152
6153    /// Sets [`SwipeGestureRecognizer::can_vertically_swipe_property`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer::can_vertically_swipe_property).
6154    fn can_vertically_swipe<M>(self, value: impl IntoProp<bool, M>) -> Self {
6155        self.prop(<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>::can_vertically_swipe_property(), value)
6156    }
6157
6158    /// Sets [`SwipeGestureRecognizer::threshold_property`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer::threshold_property).
6159    fn threshold<M>(self, value: impl IntoProp<f64, M>) -> Self {
6160        self.prop(<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>::threshold_property(), value)
6161    }
6162
6163    /// Sets [`SwipeGestureRecognizer::is_mouse_enabled_property`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer::is_mouse_enabled_property).
6164    fn is_mouse_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6165        self.prop(<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>::is_mouse_enabled_property(), value)
6166    }
6167
6168    /// Sets [`SwipeGestureRecognizer::is_enabled_property`](ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer::is_enabled_property).
6169    fn is_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6170        self.prop(<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>::is_enabled_property(), value)
6171    }
6172}
6173impl<T: ObjectType + Upcast<ferroui_base::input::gesture_recognizers::SwipeGestureRecognizer>> SwipeGestureRecognizerProps for El<T> {}
6174
6175/// The properties and routed events of [`TabControl`](ferroui_controls::TabControl).
6176pub trait TabControlProps: ElementBuilder {
6177    /// Sets [`TabControl::tab_strip_placement_property`](ferroui_controls::TabControl::tab_strip_placement_property).
6178    fn tab_strip_placement<M>(self, value: impl IntoProp<ferroui_controls::Dock, M>) -> Self {
6179        self.prop(<ferroui_controls::TabControl>::tab_strip_placement_property(), value)
6180    }
6181
6182    /// Sets [`TabControl::horizontal_content_alignment_property`](ferroui_controls::TabControl::horizontal_content_alignment_property).
6183    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
6184        self.prop(<ferroui_controls::TabControl>::horizontal_content_alignment_property(), value)
6185    }
6186
6187    /// Sets [`TabControl::vertical_content_alignment_property`](ferroui_controls::TabControl::vertical_content_alignment_property).
6188    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
6189        self.prop(<ferroui_controls::TabControl>::vertical_content_alignment_property(), value)
6190    }
6191
6192    /// Sets [`TabControl::content_template_property`](ferroui_controls::TabControl::content_template_property).
6193    fn content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6194        self.prop(<ferroui_controls::TabControl>::content_template_property(), value)
6195    }
6196
6197    /// Sets [`TabControl::page_transition_property`](ferroui_controls::TabControl::page_transition_property).
6198    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
6199        self.prop(<ferroui_controls::TabControl>::page_transition_property(), value)
6200    }
6201
6202    /// Sets [`TabControl::indicator_template_property`](ferroui_controls::TabControl::indicator_template_property).
6203    fn indicator_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6204        self.prop(<ferroui_controls::TabControl>::indicator_template_property(), value)
6205    }
6206}
6207impl<T: ObjectType + Upcast<ferroui_controls::TabControl>> TabControlProps for El<T> {}
6208
6209/// The properties and routed events of [`TabItem`](ferroui_controls::TabItem).
6210pub trait TabItemProps: ElementBuilder {
6211    /// Sets [`TabItem::is_selected_property`](ferroui_controls::TabItem::is_selected_property).
6212    fn is_selected<M>(self, value: impl IntoProp<bool, M>) -> Self {
6213        self.prop(<ferroui_controls::TabItem>::is_selected_property(), value)
6214    }
6215
6216    /// Sets [`TabItem::icon_property`](ferroui_controls::TabItem::icon_property).
6217    fn icon<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6218        self.prop(<ferroui_controls::TabItem>::icon_property(), value)
6219    }
6220
6221    /// Sets [`TabItem::icon_template_property`](ferroui_controls::TabItem::icon_template_property).
6222    fn icon_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6223        self.prop(<ferroui_controls::TabItem>::icon_template_property(), value)
6224    }
6225
6226    /// Sets [`TabItem::indicator_template_property`](ferroui_controls::TabItem::indicator_template_property).
6227    fn indicator_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6228        self.prop(<ferroui_controls::TabItem>::indicator_template_property(), value)
6229    }
6230}
6231impl<T: ObjectType + Upcast<ferroui_controls::TabItem>> TabItemProps for El<T> {}
6232
6233/// The properties and routed events of [`TabbedPage`](ferroui_controls::TabbedPage).
6234pub trait TabbedPageProps: ElementBuilder {
6235    /// Sets [`TabbedPage::tab_placement_property`](ferroui_controls::TabbedPage::tab_placement_property).
6236    fn tab_placement<M>(self, value: impl IntoProp<ferroui_controls::TabPlacement, M>) -> Self {
6237        self.prop(<ferroui_controls::TabbedPage>::tab_placement_property(), value)
6238    }
6239
6240    /// Sets [`TabbedPage::is_keyboard_navigation_enabled_property`](ferroui_controls::TabbedPage::is_keyboard_navigation_enabled_property).
6241    fn is_keyboard_navigation_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6242        self.prop(<ferroui_controls::TabbedPage>::is_keyboard_navigation_enabled_property(), value)
6243    }
6244
6245    /// Sets [`TabbedPage::is_gesture_enabled_property`](ferroui_controls::TabbedPage::is_gesture_enabled_property).
6246    fn is_gesture_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6247        self.prop(<ferroui_controls::TabbedPage>::is_gesture_enabled_property(), value)
6248    }
6249
6250    /// Sets [`TabbedPage::page_transition_property`](ferroui_controls::TabbedPage::page_transition_property).
6251    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
6252        self.prop(<ferroui_controls::TabbedPage>::page_transition_property(), value)
6253    }
6254
6255    /// Sets [`TabbedPage::indicator_template_property`](ferroui_controls::TabbedPage::indicator_template_property).
6256    fn indicator_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6257        self.prop(<ferroui_controls::TabbedPage>::indicator_template_property(), value)
6258    }
6259
6260    /// Sets [`TabbedPage::is_tab_enabled_property`](ferroui_controls::TabbedPage::is_tab_enabled_property).
6261    fn is_tab_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6262        self.prop(<ferroui_controls::TabbedPage>::is_tab_enabled_property(), value)
6263    }
6264}
6265impl<T: ObjectType + Upcast<ferroui_controls::TabbedPage>> TabbedPageProps for El<T> {}
6266
6267/// The properties and routed events of [`TableView`](ferroui_controls::TableView).
6268pub trait TableViewProps: ElementBuilder {
6269    /// Sets [`TableView::columns_property`](ferroui_controls::TableView::columns_property).
6270    fn columns<M>(self, value: impl IntoProp<Option<ferroui_base::collections::FerroList<ferroui_base::Ref<ferroui_controls::TableViewColumn>>>, M>) -> Self {
6271        self.prop(<ferroui_controls::TableView>::columns_property(), value)
6272    }
6273
6274    /// Sets [`TableView::can_user_resize_columns_property`](ferroui_controls::TableView::can_user_resize_columns_property).
6275    fn can_user_resize_columns<M>(self, value: impl IntoProp<bool, M>) -> Self {
6276        self.prop(<ferroui_controls::TableView>::can_user_resize_columns_property(), value)
6277    }
6278}
6279impl<T: ObjectType + Upcast<ferroui_controls::TableView>> TableViewProps for El<T> {}
6280
6281/// The properties and routed events of [`TableViewColumn`](ferroui_controls::TableViewColumn).
6282pub trait TableViewColumnProps: ElementBuilder {
6283    /// Sets [`TableViewColumn::is_visible_property`](ferroui_controls::TableViewColumn::is_visible_property).
6284    fn is_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
6285        self.prop(<ferroui_controls::TableViewColumn>::is_visible_property(), value)
6286    }
6287
6288    /// Sets [`TableViewColumn::header_theme_property`](ferroui_controls::TableViewColumn::header_theme_property).
6289    fn header_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
6290        self.prop(<ferroui_controls::TableViewColumn>::header_theme_property(), value)
6291    }
6292
6293    /// Sets [`TableViewColumn::header_template_property`](ferroui_controls::TableViewColumn::header_template_property).
6294    fn header_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6295        self.prop(<ferroui_controls::TableViewColumn>::header_template_property(), value)
6296    }
6297
6298    /// Sets [`TableViewColumn::header_property`](ferroui_controls::TableViewColumn::header_property).
6299    fn header<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6300        self.prop(<ferroui_controls::TableViewColumn>::header_property(), value)
6301    }
6302
6303    /// Sets [`TableViewColumn::width_property`](ferroui_controls::TableViewColumn::width_property).
6304    fn width<M>(self, value: impl IntoProp<ferroui_controls::GridLength, M>) -> Self {
6305        self.prop(<ferroui_controls::TableViewColumn>::width_property(), value)
6306    }
6307
6308    /// Sets [`TableViewColumn::cell_theme_property`](ferroui_controls::TableViewColumn::cell_theme_property).
6309    fn cell_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
6310        self.prop(<ferroui_controls::TableViewColumn>::cell_theme_property(), value)
6311    }
6312
6313    /// Sets [`TableViewColumn::cell_template_property`](ferroui_controls::TableViewColumn::cell_template_property).
6314    fn cell_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
6315        self.prop(<ferroui_controls::TableViewColumn>::cell_template_property(), value)
6316    }
6317
6318    /// Sets [`TableViewColumn::can_user_resize_property`](ferroui_controls::TableViewColumn::can_user_resize_property).
6319    fn can_user_resize<M>(self, value: impl IntoProp<Option<bool>, M>) -> Self {
6320        self.prop(<ferroui_controls::TableViewColumn>::can_user_resize_property(), value)
6321    }
6322
6323    /// Sets [`TableViewColumn::horizontal_content_alignment_property`](ferroui_controls::TableViewColumn::horizontal_content_alignment_property).
6324    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
6325        self.prop(<ferroui_controls::TableViewColumn>::horizontal_content_alignment_property(), value)
6326    }
6327}
6328impl<T: ObjectType + Upcast<ferroui_controls::TableViewColumn>> TableViewColumnProps for El<T> {}
6329
6330/// The properties and routed events of [`TemplatedControl`](ferroui_controls::primitives::TemplatedControl).
6331pub trait TemplatedControlProps: ElementBuilder {
6332    /// Sets [`TemplatedControl::background_property`](ferroui_controls::primitives::TemplatedControl::background_property).
6333    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6334        self.prop(<ferroui_controls::primitives::TemplatedControl>::background_property(), value)
6335    }
6336
6337    /// Sets [`TemplatedControl::background_sizing_property`](ferroui_controls::primitives::TemplatedControl::background_sizing_property).
6338    fn background_sizing<M>(self, value: impl IntoProp<ferroui_base::media::BackgroundSizing, M>) -> Self {
6339        self.prop(<ferroui_controls::primitives::TemplatedControl>::background_sizing_property(), value)
6340    }
6341
6342    /// Sets [`TemplatedControl::border_brush_property`](ferroui_controls::primitives::TemplatedControl::border_brush_property).
6343    fn border_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6344        self.prop(<ferroui_controls::primitives::TemplatedControl>::border_brush_property(), value)
6345    }
6346
6347    /// Sets [`TemplatedControl::border_thickness_property`](ferroui_controls::primitives::TemplatedControl::border_thickness_property).
6348    fn border_thickness<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
6349        self.prop(<ferroui_controls::primitives::TemplatedControl>::border_thickness_property(), value)
6350    }
6351
6352    /// Sets [`TemplatedControl::corner_radius_property`](ferroui_controls::primitives::TemplatedControl::corner_radius_property).
6353    fn corner_radius<M>(self, value: impl IntoProp<ferroui_base::CornerRadius, M>) -> Self {
6354        self.prop(<ferroui_controls::primitives::TemplatedControl>::corner_radius_property(), value)
6355    }
6356
6357    /// Sets [`TemplatedControl::font_family_property`](ferroui_controls::primitives::TemplatedControl::font_family_property).
6358    fn font_family<M>(self, value: impl IntoProp<ferroui_base::media::FontFamily, M>) -> Self {
6359        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_family_property(), value)
6360    }
6361
6362    /// Sets [`TemplatedControl::font_features_property`](ferroui_controls::primitives::TemplatedControl::font_features_property).
6363    fn font_features<M>(self, value: impl IntoProp<Option<ferroui_base::media::FontFeatureCollection>, M>) -> Self {
6364        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_features_property(), value)
6365    }
6366
6367    /// Sets [`TemplatedControl::font_size_property`](ferroui_controls::primitives::TemplatedControl::font_size_property).
6368    fn font_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
6369        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_size_property(), value)
6370    }
6371
6372    /// Sets [`TemplatedControl::font_style_property`](ferroui_controls::primitives::TemplatedControl::font_style_property).
6373    fn font_style<M>(self, value: impl IntoProp<ferroui_base::media::FontStyle, M>) -> Self {
6374        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_style_property(), value)
6375    }
6376
6377    /// Sets [`TemplatedControl::font_weight_property`](ferroui_controls::primitives::TemplatedControl::font_weight_property).
6378    fn font_weight<M>(self, value: impl IntoProp<ferroui_base::media::FontWeight, M>) -> Self {
6379        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_weight_property(), value)
6380    }
6381
6382    /// Sets [`TemplatedControl::font_stretch_property`](ferroui_controls::primitives::TemplatedControl::font_stretch_property).
6383    fn font_stretch<M>(self, value: impl IntoProp<ferroui_base::media::FontStretch, M>) -> Self {
6384        self.prop(<ferroui_controls::primitives::TemplatedControl>::font_stretch_property(), value)
6385    }
6386
6387    /// Sets [`TemplatedControl::foreground_property`](ferroui_controls::primitives::TemplatedControl::foreground_property).
6388    fn foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6389        self.prop(<ferroui_controls::primitives::TemplatedControl>::foreground_property(), value)
6390    }
6391
6392    /// Sets [`TemplatedControl::letter_spacing_property`](ferroui_controls::primitives::TemplatedControl::letter_spacing_property).
6393    fn letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6394        self.prop(<ferroui_controls::primitives::TemplatedControl>::letter_spacing_property(), value)
6395    }
6396
6397    /// Sets [`TemplatedControl::padding_property`](ferroui_controls::primitives::TemplatedControl::padding_property).
6398    fn padding<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
6399        self.prop(<ferroui_controls::primitives::TemplatedControl>::padding_property(), value)
6400    }
6401
6402    /// Sets [`TemplatedControl::template_property`](ferroui_controls::primitives::TemplatedControl::template_property).
6403    fn template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IControlTemplate>>, M>) -> Self {
6404        self.prop(<ferroui_controls::primitives::TemplatedControl>::template_property(), value)
6405    }
6406
6407    /// Sets [`TemplatedControl::is_template_focus_target_property`](ferroui_controls::primitives::TemplatedControl::is_template_focus_target_property).
6408    fn is_template_focus_target<M>(self, value: impl IntoProp<bool, M>) -> Self {
6409        self.prop(<ferroui_controls::primitives::TemplatedControl>::is_template_focus_target_property(), value)
6410    }
6411
6412    /// Handles [`TemplatedControl::template_applied_event`](ferroui_controls::primitives::TemplatedControl::template_applied_event).
6413    fn on_template_applied(self, handler: impl Fn(&ferroui_controls::primitives::TemplateAppliedEventArgs) + 'static) -> Self {
6414        self.routed(<ferroui_controls::primitives::TemplatedControl>::template_applied_event(), move |_, e| handler(e))
6415    }
6416}
6417impl<T: ObjectType + Upcast<ferroui_controls::primitives::TemplatedControl>> TemplatedControlProps for El<T> {}
6418
6419/// The properties and routed events of [`TextBlock`](ferroui_controls::TextBlock).
6420pub trait TextBlockProps: ElementBuilder {
6421    /// Sets [`TextBlock::background_property`](ferroui_controls::TextBlock::background_property).
6422    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6423        self.prop(<ferroui_controls::TextBlock>::background_property(), value)
6424    }
6425
6426    /// Sets [`TextBlock::padding_property`](ferroui_controls::TextBlock::padding_property).
6427    fn padding<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
6428        self.prop(<ferroui_controls::TextBlock>::padding_property(), value)
6429    }
6430
6431    /// Sets [`TextBlock::font_family_property`](ferroui_controls::TextBlock::font_family_property).
6432    fn font_family<M>(self, value: impl IntoProp<ferroui_base::media::FontFamily, M>) -> Self {
6433        self.prop(<ferroui_controls::TextBlock>::font_family_property(), value)
6434    }
6435
6436    /// Sets [`TextBlock::font_size_property`](ferroui_controls::TextBlock::font_size_property).
6437    fn font_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
6438        self.prop(<ferroui_controls::TextBlock>::font_size_property(), value)
6439    }
6440
6441    /// Sets [`TextBlock::font_style_property`](ferroui_controls::TextBlock::font_style_property).
6442    fn font_style<M>(self, value: impl IntoProp<ferroui_base::media::FontStyle, M>) -> Self {
6443        self.prop(<ferroui_controls::TextBlock>::font_style_property(), value)
6444    }
6445
6446    /// Sets [`TextBlock::font_weight_property`](ferroui_controls::TextBlock::font_weight_property).
6447    fn font_weight<M>(self, value: impl IntoProp<ferroui_base::media::FontWeight, M>) -> Self {
6448        self.prop(<ferroui_controls::TextBlock>::font_weight_property(), value)
6449    }
6450
6451    /// Sets [`TextBlock::font_stretch_property`](ferroui_controls::TextBlock::font_stretch_property).
6452    fn font_stretch<M>(self, value: impl IntoProp<ferroui_base::media::FontStretch, M>) -> Self {
6453        self.prop(<ferroui_controls::TextBlock>::font_stretch_property(), value)
6454    }
6455
6456    /// Sets [`TextBlock::foreground_property`](ferroui_controls::TextBlock::foreground_property).
6457    fn foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6458        self.prop(<ferroui_controls::TextBlock>::foreground_property(), value)
6459    }
6460
6461    /// Sets [`TextBlock::baseline_offset_property`](ferroui_controls::TextBlock::baseline_offset_property).
6462    fn baseline_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
6463        self.prop(<ferroui_controls::TextBlock>::baseline_offset_property(), value)
6464    }
6465
6466    /// Sets [`TextBlock::layout_rounding_placement_property`](ferroui_controls::TextBlock::layout_rounding_placement_property).
6467    fn layout_rounding_placement<M>(self, value: impl IntoProp<ferroui_controls::TextLayoutRoundingPlacement, M>) -> Self {
6468        self.prop(<ferroui_controls::TextBlock>::layout_rounding_placement_property(), value)
6469    }
6470
6471    /// Sets [`TextBlock::line_height_property`](ferroui_controls::TextBlock::line_height_property).
6472    fn line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
6473        self.prop(<ferroui_controls::TextBlock>::line_height_property(), value)
6474    }
6475
6476    /// Sets [`TextBlock::line_spacing_property`](ferroui_controls::TextBlock::line_spacing_property).
6477    fn line_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6478        self.prop(<ferroui_controls::TextBlock>::line_spacing_property(), value)
6479    }
6480
6481    /// Sets [`TextBlock::letter_spacing_property`](ferroui_controls::TextBlock::letter_spacing_property).
6482    fn letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6483        self.prop(<ferroui_controls::TextBlock>::letter_spacing_property(), value)
6484    }
6485
6486    /// Sets [`TextBlock::max_lines_property`](ferroui_controls::TextBlock::max_lines_property).
6487    fn max_lines<M>(self, value: impl IntoProp<i32, M>) -> Self {
6488        self.prop(<ferroui_controls::TextBlock>::max_lines_property(), value)
6489    }
6490
6491    /// Sets [`TextBlock::text_property`](ferroui_controls::TextBlock::text_property).
6492    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
6493        self.prop(<ferroui_controls::TextBlock>::text_property(), value)
6494    }
6495
6496    /// Sets [`TextBlock::text_alignment_property`](ferroui_controls::TextBlock::text_alignment_property).
6497    fn text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
6498        self.prop(<ferroui_controls::TextBlock>::text_alignment_property(), value)
6499    }
6500
6501    /// Sets [`TextBlock::text_wrapping_property`](ferroui_controls::TextBlock::text_wrapping_property).
6502    fn text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
6503        self.prop(<ferroui_controls::TextBlock>::text_wrapping_property(), value)
6504    }
6505
6506    /// Sets [`TextBlock::text_trimming_property`](ferroui_controls::TextBlock::text_trimming_property).
6507    fn text_trimming<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_base::media::TextTrimming>, M>) -> Self {
6508        self.prop(<ferroui_controls::TextBlock>::text_trimming_property(), value)
6509    }
6510
6511    /// Sets [`TextBlock::text_decorations_property`](ferroui_controls::TextBlock::text_decorations_property).
6512    fn text_decorations<M>(self, value: impl IntoProp<Option<ferroui_base::media::TextDecorationCollection>, M>) -> Self {
6513        self.prop(<ferroui_controls::TextBlock>::text_decorations_property(), value)
6514    }
6515
6516    /// Sets [`TextBlock::font_features_property`](ferroui_controls::TextBlock::font_features_property).
6517    fn font_features<M>(self, value: impl IntoProp<Option<ferroui_base::media::FontFeatureCollection>, M>) -> Self {
6518        self.prop(<ferroui_controls::TextBlock>::font_features_property(), value)
6519    }
6520
6521    /// Sets [`TextBlock::inlines_property`](ferroui_controls::TextBlock::inlines_property).
6522    fn inlines<M>(self, value: impl IntoProp<Option<ferroui_controls::documents::InlineCollection>, M>) -> Self {
6523        self.prop(<ferroui_controls::TextBlock>::inlines_property(), value)
6524    }
6525}
6526impl<T: ObjectType + Upcast<ferroui_controls::TextBlock>> TextBlockProps for El<T> {}
6527
6528/// The properties and routed events of [`TextBox`](ferroui_controls::TextBox).
6529pub trait TextBoxProps: ElementBuilder {
6530    /// Sets [`TextBox::is_inactive_selection_highlight_enabled_property`](ferroui_controls::TextBox::is_inactive_selection_highlight_enabled_property).
6531    fn is_inactive_selection_highlight_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6532        self.prop(<ferroui_controls::TextBox>::is_inactive_selection_highlight_enabled_property(), value)
6533    }
6534
6535    /// Sets [`TextBox::clear_selection_on_lost_focus_property`](ferroui_controls::TextBox::clear_selection_on_lost_focus_property).
6536    fn clear_selection_on_lost_focus<M>(self, value: impl IntoProp<bool, M>) -> Self {
6537        self.prop(<ferroui_controls::TextBox>::clear_selection_on_lost_focus_property(), value)
6538    }
6539
6540    /// Sets [`TextBox::accepts_return_property`](ferroui_controls::TextBox::accepts_return_property).
6541    fn accepts_return<M>(self, value: impl IntoProp<bool, M>) -> Self {
6542        self.prop(<ferroui_controls::TextBox>::accepts_return_property(), value)
6543    }
6544
6545    /// Sets [`TextBox::accepts_tab_property`](ferroui_controls::TextBox::accepts_tab_property).
6546    fn accepts_tab<M>(self, value: impl IntoProp<bool, M>) -> Self {
6547        self.prop(<ferroui_controls::TextBox>::accepts_tab_property(), value)
6548    }
6549
6550    /// Sets [`TextBox::caret_index_property`](ferroui_controls::TextBox::caret_index_property).
6551    fn caret_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
6552        self.prop(<ferroui_controls::TextBox>::caret_index_property(), value)
6553    }
6554
6555    /// Sets [`TextBox::is_read_only_property`](ferroui_controls::TextBox::is_read_only_property).
6556    fn is_read_only<M>(self, value: impl IntoProp<bool, M>) -> Self {
6557        self.prop(<ferroui_controls::TextBox>::is_read_only_property(), value)
6558    }
6559
6560    /// Sets [`TextBox::password_char_property`](ferroui_controls::TextBox::password_char_property).
6561    fn password_char<M>(self, value: impl IntoProp<char, M>) -> Self {
6562        self.prop(<ferroui_controls::TextBox>::password_char_property(), value)
6563    }
6564
6565    /// Sets [`TextBox::selection_brush_property`](ferroui_controls::TextBox::selection_brush_property).
6566    fn selection_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6567        self.prop(<ferroui_controls::TextBox>::selection_brush_property(), value)
6568    }
6569
6570    /// Sets [`TextBox::selection_foreground_brush_property`](ferroui_controls::TextBox::selection_foreground_brush_property).
6571    fn selection_foreground_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6572        self.prop(<ferroui_controls::TextBox>::selection_foreground_brush_property(), value)
6573    }
6574
6575    /// Sets [`TextBox::caret_brush_property`](ferroui_controls::TextBox::caret_brush_property).
6576    fn caret_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6577        self.prop(<ferroui_controls::TextBox>::caret_brush_property(), value)
6578    }
6579
6580    /// Sets [`TextBox::caret_blink_interval_property`](ferroui_controls::TextBox::caret_blink_interval_property).
6581    fn caret_blink_interval<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
6582        self.prop(<ferroui_controls::TextBox>::caret_blink_interval_property(), value)
6583    }
6584
6585    /// Sets [`TextBox::selection_start_property`](ferroui_controls::TextBox::selection_start_property).
6586    fn selection_start<M>(self, value: impl IntoProp<i32, M>) -> Self {
6587        self.prop(<ferroui_controls::TextBox>::selection_start_property(), value)
6588    }
6589
6590    /// Sets [`TextBox::selection_end_property`](ferroui_controls::TextBox::selection_end_property).
6591    fn selection_end<M>(self, value: impl IntoProp<i32, M>) -> Self {
6592        self.prop(<ferroui_controls::TextBox>::selection_end_property(), value)
6593    }
6594
6595    /// Sets [`TextBox::max_length_property`](ferroui_controls::TextBox::max_length_property).
6596    fn max_length<M>(self, value: impl IntoProp<i32, M>) -> Self {
6597        self.prop(<ferroui_controls::TextBox>::max_length_property(), value)
6598    }
6599
6600    /// Sets [`TextBox::max_lines_property`](ferroui_controls::TextBox::max_lines_property).
6601    fn max_lines<M>(self, value: impl IntoProp<i32, M>) -> Self {
6602        self.prop(<ferroui_controls::TextBox>::max_lines_property(), value)
6603    }
6604
6605    /// Sets [`TextBox::min_lines_property`](ferroui_controls::TextBox::min_lines_property).
6606    fn min_lines<M>(self, value: impl IntoProp<i32, M>) -> Self {
6607        self.prop(<ferroui_controls::TextBox>::min_lines_property(), value)
6608    }
6609
6610    /// Sets [`TextBox::text_property`](ferroui_controls::TextBox::text_property).
6611    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
6612        self.prop(<ferroui_controls::TextBox>::text_property(), value)
6613    }
6614
6615    /// Sets [`TextBox::text_alignment_property`](ferroui_controls::TextBox::text_alignment_property).
6616    fn text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
6617        self.prop(<ferroui_controls::TextBox>::text_alignment_property(), value)
6618    }
6619
6620    /// Sets [`TextBox::horizontal_content_alignment_property`](ferroui_controls::TextBox::horizontal_content_alignment_property).
6621    fn horizontal_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::HorizontalAlignment, M>) -> Self {
6622        self.prop(<ferroui_controls::TextBox>::horizontal_content_alignment_property(), value)
6623    }
6624
6625    /// Sets [`TextBox::vertical_content_alignment_property`](ferroui_controls::TextBox::vertical_content_alignment_property).
6626    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
6627        self.prop(<ferroui_controls::TextBox>::vertical_content_alignment_property(), value)
6628    }
6629
6630    /// Sets [`TextBox::text_wrapping_property`](ferroui_controls::TextBox::text_wrapping_property).
6631    fn text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
6632        self.prop(<ferroui_controls::TextBox>::text_wrapping_property(), value)
6633    }
6634
6635    /// Sets [`TextBox::line_height_property`](ferroui_controls::TextBox::line_height_property).
6636    fn line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
6637        self.prop(<ferroui_controls::TextBox>::line_height_property(), value)
6638    }
6639
6640    /// Sets [`TextBox::placeholder_text_property`](ferroui_controls::TextBox::placeholder_text_property).
6641    fn placeholder_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
6642        self.prop(<ferroui_controls::TextBox>::placeholder_text_property(), value)
6643    }
6644
6645    /// Sets [`TextBox::use_floating_placeholder_property`](ferroui_controls::TextBox::use_floating_placeholder_property).
6646    fn use_floating_placeholder<M>(self, value: impl IntoProp<bool, M>) -> Self {
6647        self.prop(<ferroui_controls::TextBox>::use_floating_placeholder_property(), value)
6648    }
6649
6650    /// Sets [`TextBox::placeholder_foreground_property`](ferroui_controls::TextBox::placeholder_foreground_property).
6651    fn placeholder_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6652        self.prop(<ferroui_controls::TextBox>::placeholder_foreground_property(), value)
6653    }
6654
6655    /// Sets [`TextBox::new_line_property`](ferroui_controls::TextBox::new_line_property).
6656    fn new_line<M>(self, value: impl IntoProp<String, M>) -> Self {
6657        self.prop(<ferroui_controls::TextBox>::new_line_property(), value)
6658    }
6659
6660    /// Sets [`TextBox::inner_left_content_property`](ferroui_controls::TextBox::inner_left_content_property).
6661    fn inner_left_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6662        self.prop(<ferroui_controls::TextBox>::inner_left_content_property(), value)
6663    }
6664
6665    /// Sets [`TextBox::inner_right_content_property`](ferroui_controls::TextBox::inner_right_content_property).
6666    fn inner_right_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
6667        self.prop(<ferroui_controls::TextBox>::inner_right_content_property(), value)
6668    }
6669
6670    /// Sets [`TextBox::reveal_password_property`](ferroui_controls::TextBox::reveal_password_property).
6671    fn reveal_password<M>(self, value: impl IntoProp<bool, M>) -> Self {
6672        self.prop(<ferroui_controls::TextBox>::reveal_password_property(), value)
6673    }
6674
6675    /// Sets [`TextBox::is_undo_enabled_property`](ferroui_controls::TextBox::is_undo_enabled_property).
6676    fn is_undo_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
6677        self.prop(<ferroui_controls::TextBox>::is_undo_enabled_property(), value)
6678    }
6679
6680    /// Sets [`TextBox::undo_limit_property`](ferroui_controls::TextBox::undo_limit_property).
6681    fn undo_limit<M>(self, value: impl IntoProp<i32, M>) -> Self {
6682        self.prop(<ferroui_controls::TextBox>::undo_limit_property(), value)
6683    }
6684
6685    /// Handles [`TextBox::copying_to_clipboard_event`](ferroui_controls::TextBox::copying_to_clipboard_event).
6686    fn on_copying_to_clipboard(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6687        self.routed(<ferroui_controls::TextBox>::copying_to_clipboard_event(), move |_, e| handler(e))
6688    }
6689
6690    /// Handles [`TextBox::cutting_to_clipboard_event`](ferroui_controls::TextBox::cutting_to_clipboard_event).
6691    fn on_cutting_to_clipboard(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6692        self.routed(<ferroui_controls::TextBox>::cutting_to_clipboard_event(), move |_, e| handler(e))
6693    }
6694
6695    /// Handles [`TextBox::pasting_from_clipboard_event`](ferroui_controls::TextBox::pasting_from_clipboard_event).
6696    fn on_pasting_from_clipboard(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
6697        self.routed(<ferroui_controls::TextBox>::pasting_from_clipboard_event(), move |_, e| handler(e))
6698    }
6699
6700    /// Handles [`TextBox::text_changed_event`](ferroui_controls::TextBox::text_changed_event).
6701    fn on_text_changed(self, handler: impl Fn(&ferroui_controls::TextChangedEventArgs) + 'static) -> Self {
6702        self.routed(<ferroui_controls::TextBox>::text_changed_event(), move |_, e| handler(e))
6703    }
6704
6705    /// Handles [`TextBox::text_changing_event`](ferroui_controls::TextBox::text_changing_event).
6706    fn on_text_changing(self, handler: impl Fn(&ferroui_controls::TextChangingEventArgs) + 'static) -> Self {
6707        self.routed(<ferroui_controls::TextBox>::text_changing_event(), move |_, e| handler(e))
6708    }
6709}
6710impl<T: ObjectType + Upcast<ferroui_controls::TextBox>> TextBoxProps for El<T> {}
6711
6712/// The properties and routed events of [`TextDecoration`](ferroui_base::media::TextDecoration).
6713pub trait TextDecorationProps: ElementBuilder {
6714    /// Sets [`TextDecoration::location_property`](ferroui_base::media::TextDecoration::location_property).
6715    fn location<M>(self, value: impl IntoProp<ferroui_base::media::TextDecorationLocation, M>) -> Self {
6716        self.prop(<ferroui_base::media::TextDecoration>::location_property(), value)
6717    }
6718
6719    /// Sets [`TextDecoration::stroke_property`](ferroui_base::media::TextDecoration::stroke_property).
6720    fn stroke<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6721        self.prop(<ferroui_base::media::TextDecoration>::stroke_property(), value)
6722    }
6723
6724    /// Sets [`TextDecoration::stroke_thickness_unit_property`](ferroui_base::media::TextDecoration::stroke_thickness_unit_property).
6725    fn stroke_thickness_unit<M>(self, value: impl IntoProp<ferroui_base::media::TextDecorationUnit, M>) -> Self {
6726        self.prop(<ferroui_base::media::TextDecoration>::stroke_thickness_unit_property(), value)
6727    }
6728
6729    /// Sets [`TextDecoration::stroke_dash_array_property`](ferroui_base::media::TextDecoration::stroke_dash_array_property).
6730    fn stroke_dash_array<M>(self, value: impl IntoProp<Option<ferroui_base::media::MediaCollection<f64>>, M>) -> Self {
6731        self.prop(<ferroui_base::media::TextDecoration>::stroke_dash_array_property(), value)
6732    }
6733
6734    /// Sets [`TextDecoration::stroke_dash_offset_property`](ferroui_base::media::TextDecoration::stroke_dash_offset_property).
6735    fn stroke_dash_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
6736        self.prop(<ferroui_base::media::TextDecoration>::stroke_dash_offset_property(), value)
6737    }
6738
6739    /// Sets [`TextDecoration::stroke_thickness_property`](ferroui_base::media::TextDecoration::stroke_thickness_property).
6740    fn stroke_thickness<M>(self, value: impl IntoProp<f64, M>) -> Self {
6741        self.prop(<ferroui_base::media::TextDecoration>::stroke_thickness_property(), value)
6742    }
6743
6744    /// Sets [`TextDecoration::stroke_line_cap_property`](ferroui_base::media::TextDecoration::stroke_line_cap_property).
6745    fn stroke_line_cap<M>(self, value: impl IntoProp<ferroui_base::media::PenLineCap, M>) -> Self {
6746        self.prop(<ferroui_base::media::TextDecoration>::stroke_line_cap_property(), value)
6747    }
6748
6749    /// Sets [`TextDecoration::stroke_offset_property`](ferroui_base::media::TextDecoration::stroke_offset_property).
6750    fn stroke_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
6751        self.prop(<ferroui_base::media::TextDecoration>::stroke_offset_property(), value)
6752    }
6753
6754    /// Sets [`TextDecoration::stroke_offset_unit_property`](ferroui_base::media::TextDecoration::stroke_offset_unit_property).
6755    fn stroke_offset_unit<M>(self, value: impl IntoProp<ferroui_base::media::TextDecorationUnit, M>) -> Self {
6756        self.prop(<ferroui_base::media::TextDecoration>::stroke_offset_unit_property(), value)
6757    }
6758}
6759impl<T: ObjectType + Upcast<ferroui_base::media::TextDecoration>> TextDecorationProps for El<T> {}
6760
6761/// The properties and routed events of [`TextElement`](ferroui_controls::documents::TextElement).
6762pub trait TextElementProps: ElementBuilder {
6763    /// Sets [`TextElement::background_property`](ferroui_controls::documents::TextElement::background_property).
6764    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6765        self.prop(<ferroui_controls::documents::TextElement>::background_property(), value)
6766    }
6767
6768    /// Sets [`TextElement::font_family_property`](ferroui_controls::documents::TextElement::font_family_property).
6769    fn font_family<M>(self, value: impl IntoProp<ferroui_base::media::FontFamily, M>) -> Self {
6770        self.prop(<ferroui_controls::documents::TextElement>::font_family_property(), value)
6771    }
6772
6773    /// Sets [`TextElement::font_features_property`](ferroui_controls::documents::TextElement::font_features_property).
6774    fn font_features<M>(self, value: impl IntoProp<Option<ferroui_base::media::FontFeatureCollection>, M>) -> Self {
6775        self.prop(<ferroui_controls::documents::TextElement>::font_features_property(), value)
6776    }
6777
6778    /// Sets [`TextElement::font_size_property`](ferroui_controls::documents::TextElement::font_size_property).
6779    fn font_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
6780        self.prop(<ferroui_controls::documents::TextElement>::font_size_property(), value)
6781    }
6782
6783    /// Sets [`TextElement::font_style_property`](ferroui_controls::documents::TextElement::font_style_property).
6784    fn font_style<M>(self, value: impl IntoProp<ferroui_base::media::FontStyle, M>) -> Self {
6785        self.prop(<ferroui_controls::documents::TextElement>::font_style_property(), value)
6786    }
6787
6788    /// Sets [`TextElement::font_weight_property`](ferroui_controls::documents::TextElement::font_weight_property).
6789    fn font_weight<M>(self, value: impl IntoProp<ferroui_base::media::FontWeight, M>) -> Self {
6790        self.prop(<ferroui_controls::documents::TextElement>::font_weight_property(), value)
6791    }
6792
6793    /// Sets [`TextElement::font_stretch_property`](ferroui_controls::documents::TextElement::font_stretch_property).
6794    fn font_stretch<M>(self, value: impl IntoProp<ferroui_base::media::FontStretch, M>) -> Self {
6795        self.prop(<ferroui_controls::documents::TextElement>::font_stretch_property(), value)
6796    }
6797
6798    /// Sets [`TextElement::foreground_property`](ferroui_controls::documents::TextElement::foreground_property).
6799    fn foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6800        self.prop(<ferroui_controls::documents::TextElement>::foreground_property(), value)
6801    }
6802
6803    /// Sets [`TextElement::letter_spacing_property`](ferroui_controls::documents::TextElement::letter_spacing_property).
6804    fn letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6805        self.prop(<ferroui_controls::documents::TextElement>::letter_spacing_property(), value)
6806    }
6807}
6808impl<T: ObjectType + Upcast<ferroui_controls::documents::TextElement>> TextElementProps for El<T> {}
6809
6810/// The properties and routed events of [`TextPresenter`](ferroui_controls::presenters::TextPresenter).
6811pub trait TextPresenterProps: ElementBuilder {
6812    /// Sets [`TextPresenter::show_selection_highlight_property`](ferroui_controls::presenters::TextPresenter::show_selection_highlight_property).
6813    fn show_selection_highlight<M>(self, value: impl IntoProp<bool, M>) -> Self {
6814        self.prop(<ferroui_controls::presenters::TextPresenter>::show_selection_highlight_property(), value)
6815    }
6816
6817    /// Sets [`TextPresenter::caret_index_property`](ferroui_controls::presenters::TextPresenter::caret_index_property).
6818    fn caret_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
6819        self.prop(<ferroui_controls::presenters::TextPresenter>::caret_index_property(), value)
6820    }
6821
6822    /// Sets [`TextPresenter::reveal_password_property`](ferroui_controls::presenters::TextPresenter::reveal_password_property).
6823    fn reveal_password<M>(self, value: impl IntoProp<bool, M>) -> Self {
6824        self.prop(<ferroui_controls::presenters::TextPresenter>::reveal_password_property(), value)
6825    }
6826
6827    /// Sets [`TextPresenter::password_char_property`](ferroui_controls::presenters::TextPresenter::password_char_property).
6828    fn password_char<M>(self, value: impl IntoProp<char, M>) -> Self {
6829        self.prop(<ferroui_controls::presenters::TextPresenter>::password_char_property(), value)
6830    }
6831
6832    /// Sets [`TextPresenter::selection_brush_property`](ferroui_controls::presenters::TextPresenter::selection_brush_property).
6833    fn selection_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6834        self.prop(<ferroui_controls::presenters::TextPresenter>::selection_brush_property(), value)
6835    }
6836
6837    /// Sets [`TextPresenter::selection_foreground_brush_property`](ferroui_controls::presenters::TextPresenter::selection_foreground_brush_property).
6838    fn selection_foreground_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6839        self.prop(<ferroui_controls::presenters::TextPresenter>::selection_foreground_brush_property(), value)
6840    }
6841
6842    /// Sets [`TextPresenter::caret_brush_property`](ferroui_controls::presenters::TextPresenter::caret_brush_property).
6843    fn caret_brush<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6844        self.prop(<ferroui_controls::presenters::TextPresenter>::caret_brush_property(), value)
6845    }
6846
6847    /// Sets [`TextPresenter::caret_blink_interval_property`](ferroui_controls::presenters::TextPresenter::caret_blink_interval_property).
6848    fn caret_blink_interval<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
6849        self.prop(<ferroui_controls::presenters::TextPresenter>::caret_blink_interval_property(), value)
6850    }
6851
6852    /// Sets [`TextPresenter::selection_start_property`](ferroui_controls::presenters::TextPresenter::selection_start_property).
6853    fn selection_start<M>(self, value: impl IntoProp<i32, M>) -> Self {
6854        self.prop(<ferroui_controls::presenters::TextPresenter>::selection_start_property(), value)
6855    }
6856
6857    /// Sets [`TextPresenter::selection_end_property`](ferroui_controls::presenters::TextPresenter::selection_end_property).
6858    fn selection_end<M>(self, value: impl IntoProp<i32, M>) -> Self {
6859        self.prop(<ferroui_controls::presenters::TextPresenter>::selection_end_property(), value)
6860    }
6861
6862    /// Sets [`TextPresenter::text_property`](ferroui_controls::presenters::TextPresenter::text_property).
6863    fn text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
6864        self.prop(<ferroui_controls::presenters::TextPresenter>::text_property(), value)
6865    }
6866
6867    /// Sets [`TextPresenter::preedit_text_property`](ferroui_controls::presenters::TextPresenter::preedit_text_property).
6868    fn preedit_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
6869        self.prop(<ferroui_controls::presenters::TextPresenter>::preedit_text_property(), value)
6870    }
6871
6872    /// Sets [`TextPresenter::preedit_text_cursor_position_property`](ferroui_controls::presenters::TextPresenter::preedit_text_cursor_position_property).
6873    fn preedit_text_cursor_position<M>(self, value: impl IntoProp<Option<i32>, M>) -> Self {
6874        self.prop(<ferroui_controls::presenters::TextPresenter>::preedit_text_cursor_position_property(), value)
6875    }
6876
6877    /// Sets [`TextPresenter::text_alignment_property`](ferroui_controls::presenters::TextPresenter::text_alignment_property).
6878    fn text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
6879        self.prop(<ferroui_controls::presenters::TextPresenter>::text_alignment_property(), value)
6880    }
6881
6882    /// Sets [`TextPresenter::text_wrapping_property`](ferroui_controls::presenters::TextPresenter::text_wrapping_property).
6883    fn text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
6884        self.prop(<ferroui_controls::presenters::TextPresenter>::text_wrapping_property(), value)
6885    }
6886
6887    /// Sets [`TextPresenter::line_height_property`](ferroui_controls::presenters::TextPresenter::line_height_property).
6888    fn line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
6889        self.prop(<ferroui_controls::presenters::TextPresenter>::line_height_property(), value)
6890    }
6891
6892    /// Sets [`TextPresenter::letter_spacing_property`](ferroui_controls::presenters::TextPresenter::letter_spacing_property).
6893    fn letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
6894        self.prop(<ferroui_controls::presenters::TextPresenter>::letter_spacing_property(), value)
6895    }
6896
6897    /// Sets [`TextPresenter::background_property`](ferroui_controls::presenters::TextPresenter::background_property).
6898    fn background<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6899        self.prop(<ferroui_controls::presenters::TextPresenter>::background_property(), value)
6900    }
6901}
6902impl<T: ObjectType + Upcast<ferroui_controls::presenters::TextPresenter>> TextPresenterProps for El<T> {}
6903
6904/// The properties and routed events of [`TickBar`](ferroui_controls::TickBar).
6905pub trait TickBarProps: ElementBuilder {
6906    /// Sets [`TickBar::fill_property`](ferroui_controls::TickBar::fill_property).
6907    fn fill<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
6908        self.prop(<ferroui_controls::TickBar>::fill_property(), value)
6909    }
6910
6911    /// Sets [`TickBar::minimum_property`](ferroui_controls::TickBar::minimum_property).
6912    fn minimum<M>(self, value: impl IntoProp<f64, M>) -> Self {
6913        self.prop(<ferroui_controls::TickBar>::minimum_property(), value)
6914    }
6915
6916    /// Sets [`TickBar::maximum_property`](ferroui_controls::TickBar::maximum_property).
6917    fn maximum<M>(self, value: impl IntoProp<f64, M>) -> Self {
6918        self.prop(<ferroui_controls::TickBar>::maximum_property(), value)
6919    }
6920
6921    /// Sets [`TickBar::tick_frequency_property`](ferroui_controls::TickBar::tick_frequency_property).
6922    fn tick_frequency<M>(self, value: impl IntoProp<f64, M>) -> Self {
6923        self.prop(<ferroui_controls::TickBar>::tick_frequency_property(), value)
6924    }
6925
6926    /// Sets [`TickBar::orientation_property`](ferroui_controls::TickBar::orientation_property).
6927    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
6928        self.prop(<ferroui_controls::TickBar>::orientation_property(), value)
6929    }
6930
6931    /// Sets [`TickBar::ticks_property`](ferroui_controls::TickBar::ticks_property).
6932    fn ticks<M>(self, value: impl IntoProp<Option<ferroui_controls::TickList>, M>) -> Self {
6933        self.prop(<ferroui_controls::TickBar>::ticks_property(), value)
6934    }
6935
6936    /// Sets [`TickBar::is_direction_reversed_property`](ferroui_controls::TickBar::is_direction_reversed_property).
6937    fn is_direction_reversed<M>(self, value: impl IntoProp<bool, M>) -> Self {
6938        self.prop(<ferroui_controls::TickBar>::is_direction_reversed_property(), value)
6939    }
6940
6941    /// Sets [`TickBar::placement_property`](ferroui_controls::TickBar::placement_property).
6942    fn placement<M>(self, value: impl IntoProp<ferroui_controls::TickBarPlacement, M>) -> Self {
6943        self.prop(<ferroui_controls::TickBar>::placement_property(), value)
6944    }
6945
6946    /// Sets [`TickBar::reserved_space_property`](ferroui_controls::TickBar::reserved_space_property).
6947    fn reserved_space<M>(self, value: impl IntoProp<ferroui_base::Rect, M>) -> Self {
6948        self.prop(<ferroui_controls::TickBar>::reserved_space_property(), value)
6949    }
6950}
6951impl<T: ObjectType + Upcast<ferroui_controls::TickBar>> TickBarProps for El<T> {}
6952
6953/// The properties and routed events of [`TileBrush`](ferroui_base::media::TileBrush).
6954pub trait TileBrushProps: ElementBuilder {
6955    /// Sets [`TileBrush::alignment_x_property`](ferroui_base::media::TileBrush::alignment_x_property).
6956    fn alignment_x<M>(self, value: impl IntoProp<ferroui_base::media::AlignmentX, M>) -> Self {
6957        self.prop(<ferroui_base::media::TileBrush>::alignment_x_property(), value)
6958    }
6959
6960    /// Sets [`TileBrush::alignment_y_property`](ferroui_base::media::TileBrush::alignment_y_property).
6961    fn alignment_y<M>(self, value: impl IntoProp<ferroui_base::media::AlignmentY, M>) -> Self {
6962        self.prop(<ferroui_base::media::TileBrush>::alignment_y_property(), value)
6963    }
6964
6965    /// Sets [`TileBrush::destination_rect_property`](ferroui_base::media::TileBrush::destination_rect_property).
6966    fn destination_rect<M>(self, value: impl IntoProp<ferroui_base::RelativeRect, M>) -> Self {
6967        self.prop(<ferroui_base::media::TileBrush>::destination_rect_property(), value)
6968    }
6969
6970    /// Sets [`TileBrush::source_rect_property`](ferroui_base::media::TileBrush::source_rect_property).
6971    fn source_rect<M>(self, value: impl IntoProp<ferroui_base::RelativeRect, M>) -> Self {
6972        self.prop(<ferroui_base::media::TileBrush>::source_rect_property(), value)
6973    }
6974
6975    /// Sets [`TileBrush::stretch_property`](ferroui_base::media::TileBrush::stretch_property).
6976    fn stretch<M>(self, value: impl IntoProp<ferroui_base::media::Stretch, M>) -> Self {
6977        self.prop(<ferroui_base::media::TileBrush>::stretch_property(), value)
6978    }
6979
6980    /// Sets [`TileBrush::tile_mode_property`](ferroui_base::media::TileBrush::tile_mode_property).
6981    fn tile_mode<M>(self, value: impl IntoProp<ferroui_base::media::TileMode, M>) -> Self {
6982        self.prop(<ferroui_base::media::TileBrush>::tile_mode_property(), value)
6983    }
6984}
6985impl<T: ObjectType + Upcast<ferroui_base::media::TileBrush>> TileBrushProps for El<T> {}
6986
6987/// The properties and routed events of [`TimePicker`](ferroui_controls::TimePicker).
6988pub trait TimePickerProps: ElementBuilder {
6989    /// Sets [`TimePicker::minute_increment_property`](ferroui_controls::TimePicker::minute_increment_property).
6990    fn minute_increment<M>(self, value: impl IntoProp<i32, M>) -> Self {
6991        self.prop(<ferroui_controls::TimePicker>::minute_increment_property(), value)
6992    }
6993
6994    /// Sets [`TimePicker::second_increment_property`](ferroui_controls::TimePicker::second_increment_property).
6995    fn second_increment<M>(self, value: impl IntoProp<i32, M>) -> Self {
6996        self.prop(<ferroui_controls::TimePicker>::second_increment_property(), value)
6997    }
6998
6999    /// Sets [`TimePicker::clock_identifier_property`](ferroui_controls::TimePicker::clock_identifier_property).
7000    fn clock_identifier<M>(self, value: impl IntoProp<String, M>) -> Self {
7001        self.prop(<ferroui_controls::TimePicker>::clock_identifier_property(), value)
7002    }
7003
7004    /// Sets [`TimePicker::vertical_content_alignment_property`](ferroui_controls::TimePicker::vertical_content_alignment_property).
7005    fn vertical_content_alignment<M>(self, value: impl IntoProp<ferroui_base::layout::VerticalAlignment, M>) -> Self {
7006        self.prop(<ferroui_controls::TimePicker>::vertical_content_alignment_property(), value)
7007    }
7008
7009    /// Sets [`TimePicker::use_seconds_property`](ferroui_controls::TimePicker::use_seconds_property).
7010    fn use_seconds<M>(self, value: impl IntoProp<bool, M>) -> Self {
7011        self.prop(<ferroui_controls::TimePicker>::use_seconds_property(), value)
7012    }
7013
7014    /// Sets [`TimePicker::selected_time_property`](ferroui_controls::TimePicker::selected_time_property).
7015    fn selected_time<M>(self, value: impl IntoProp<Option<ferroui_base::animation::TimeSpan>, M>) -> Self {
7016        self.prop(<ferroui_controls::TimePicker>::selected_time_property(), value)
7017    }
7018}
7019impl<T: ObjectType + Upcast<ferroui_controls::TimePicker>> TimePickerProps for El<T> {}
7020
7021/// The properties and routed events of [`TimePickerPresenter`](ferroui_controls::TimePickerPresenter).
7022pub trait TimePickerPresenterProps: ElementBuilder {
7023    /// Sets [`TimePickerPresenter::minute_increment_property`](ferroui_controls::TimePickerPresenter::minute_increment_property).
7024    fn minute_increment<M>(self, value: impl IntoProp<i32, M>) -> Self {
7025        self.prop(<ferroui_controls::TimePickerPresenter>::minute_increment_property(), value)
7026    }
7027
7028    /// Sets [`TimePickerPresenter::second_increment_property`](ferroui_controls::TimePickerPresenter::second_increment_property).
7029    fn second_increment<M>(self, value: impl IntoProp<i32, M>) -> Self {
7030        self.prop(<ferroui_controls::TimePickerPresenter>::second_increment_property(), value)
7031    }
7032
7033    /// Sets [`TimePickerPresenter::clock_identifier_property`](ferroui_controls::TimePickerPresenter::clock_identifier_property).
7034    fn clock_identifier<M>(self, value: impl IntoProp<String, M>) -> Self {
7035        self.prop(<ferroui_controls::TimePickerPresenter>::clock_identifier_property(), value)
7036    }
7037
7038    /// Sets [`TimePickerPresenter::use_seconds_property`](ferroui_controls::TimePickerPresenter::use_seconds_property).
7039    fn use_seconds<M>(self, value: impl IntoProp<bool, M>) -> Self {
7040        self.prop(<ferroui_controls::TimePickerPresenter>::use_seconds_property(), value)
7041    }
7042
7043    /// Sets [`TimePickerPresenter::time_property`](ferroui_controls::TimePickerPresenter::time_property).
7044    fn time<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
7045        self.prop(<ferroui_controls::TimePickerPresenter>::time_property(), value)
7046    }
7047}
7048impl<T: ObjectType + Upcast<ferroui_controls::TimePickerPresenter>> TimePickerPresenterProps for El<T> {}
7049
7050/// The properties and routed events of [`ToggleButton`](ferroui_controls::primitives::ToggleButton).
7051pub trait ToggleButtonProps: ElementBuilder {
7052    /// Sets [`ToggleButton::is_checked_property`](ferroui_controls::primitives::ToggleButton::is_checked_property).
7053    fn is_checked<M>(self, value: impl IntoProp<Option<bool>, M>) -> Self {
7054        self.prop(<ferroui_controls::primitives::ToggleButton>::is_checked_property(), value)
7055    }
7056
7057    /// Sets [`ToggleButton::is_three_state_property`](ferroui_controls::primitives::ToggleButton::is_three_state_property).
7058    fn is_three_state<M>(self, value: impl IntoProp<bool, M>) -> Self {
7059        self.prop(<ferroui_controls::primitives::ToggleButton>::is_three_state_property(), value)
7060    }
7061
7062    /// Handles [`ToggleButton::is_checked_changed_event`](ferroui_controls::primitives::ToggleButton::is_checked_changed_event).
7063    fn on_is_checked_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7064        self.routed(<ferroui_controls::primitives::ToggleButton>::is_checked_changed_event(), move |_, e| handler(e))
7065    }
7066}
7067impl<T: ObjectType + Upcast<ferroui_controls::primitives::ToggleButton>> ToggleButtonProps for El<T> {}
7068
7069/// The properties and routed events of [`ToggleSplitButton`](ferroui_controls::ToggleSplitButton).
7070pub trait ToggleSplitButtonProps: ElementBuilder {
7071    /// Sets [`ToggleSplitButton::is_checked_property`](ferroui_controls::ToggleSplitButton::is_checked_property).
7072    fn is_checked<M>(self, value: impl IntoProp<bool, M>) -> Self {
7073        self.prop(<ferroui_controls::ToggleSplitButton>::is_checked_property(), value)
7074    }
7075
7076    /// Handles [`ToggleSplitButton::is_checked_changed_event`](ferroui_controls::ToggleSplitButton::is_checked_changed_event).
7077    fn on_is_checked_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7078        self.routed(<ferroui_controls::ToggleSplitButton>::is_checked_changed_event(), move |_, e| handler(e))
7079    }
7080}
7081impl<T: ObjectType + Upcast<ferroui_controls::ToggleSplitButton>> ToggleSplitButtonProps for El<T> {}
7082
7083/// The properties and routed events of [`ToggleSwitch`](ferroui_controls::ToggleSwitch).
7084pub trait ToggleSwitchProps: ElementBuilder {
7085    /// Sets [`ToggleSwitch::off_content_property`](ferroui_controls::ToggleSwitch::off_content_property).
7086    fn off_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7087        self.prop(<ferroui_controls::ToggleSwitch>::off_content_property(), value)
7088    }
7089
7090    /// Sets [`ToggleSwitch::off_content_template_property`](ferroui_controls::ToggleSwitch::off_content_template_property).
7091    fn off_content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
7092        self.prop(<ferroui_controls::ToggleSwitch>::off_content_template_property(), value)
7093    }
7094
7095    /// Sets [`ToggleSwitch::on_content_property`](ferroui_controls::ToggleSwitch::on_content_property).
7096    fn on_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7097        self.prop(<ferroui_controls::ToggleSwitch>::on_content_property(), value)
7098    }
7099
7100    /// Sets [`ToggleSwitch::on_content_template_property`](ferroui_controls::ToggleSwitch::on_content_template_property).
7101    fn on_content_template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::templates::IDataTemplate>>, M>) -> Self {
7102        self.prop(<ferroui_controls::ToggleSwitch>::on_content_template_property(), value)
7103    }
7104
7105    /// Sets [`ToggleSwitch::knob_transitions_property`](ferroui_controls::ToggleSwitch::knob_transitions_property).
7106    fn knob_transitions<M>(self, value: impl IntoProp<Option<ferroui_base::animation::Transitions>, M>) -> Self {
7107        self.prop(<ferroui_controls::ToggleSwitch>::knob_transitions_property(), value)
7108    }
7109}
7110impl<T: ObjectType + Upcast<ferroui_controls::ToggleSwitch>> ToggleSwitchProps for El<T> {}
7111
7112/// The properties and routed events of [`ToolTip`](ferroui_controls::ToolTip).
7113pub trait ToolTipProps: ElementBuilder {
7114    /// Sets [`ToolTip::tip_property`](ferroui_controls::ToolTip::tip_property).
7115    fn tip<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7116        self.prop(<ferroui_controls::ToolTip>::tip_property(), value)
7117    }
7118
7119    /// Sets [`ToolTip::is_open_property`](ferroui_controls::ToolTip::is_open_property).
7120    fn is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
7121        self.prop(<ferroui_controls::ToolTip>::is_open_property(), value)
7122    }
7123
7124    /// Sets [`ToolTip::placement_property`](ferroui_controls::ToolTip::placement_property).
7125    fn placement<M>(self, value: impl IntoProp<ferroui_controls::PlacementMode, M>) -> Self {
7126        self.prop(<ferroui_controls::ToolTip>::placement_property(), value)
7127    }
7128
7129    /// Sets [`ToolTip::horizontal_offset_property`](ferroui_controls::ToolTip::horizontal_offset_property).
7130    fn horizontal_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
7131        self.prop(<ferroui_controls::ToolTip>::horizontal_offset_property(), value)
7132    }
7133
7134    /// Sets [`ToolTip::vertical_offset_property`](ferroui_controls::ToolTip::vertical_offset_property).
7135    fn vertical_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
7136        self.prop(<ferroui_controls::ToolTip>::vertical_offset_property(), value)
7137    }
7138
7139    /// Sets [`ToolTip::custom_popup_placement_callback_property`](ferroui_controls::ToolTip::custom_popup_placement_callback_property).
7140    fn custom_popup_placement_callback<M>(self, value: impl IntoProp<Option<ferroui_controls::primitives::CustomPopupPlacementCallbackValue>, M>) -> Self {
7141        self.prop(<ferroui_controls::ToolTip>::custom_popup_placement_callback_property(), value)
7142    }
7143
7144    /// Sets [`ToolTip::show_delay_property`](ferroui_controls::ToolTip::show_delay_property).
7145    fn show_delay<M>(self, value: impl IntoProp<i32, M>) -> Self {
7146        self.prop(<ferroui_controls::ToolTip>::show_delay_property(), value)
7147    }
7148
7149    /// Sets [`ToolTip::between_show_delay_property`](ferroui_controls::ToolTip::between_show_delay_property).
7150    fn between_show_delay<M>(self, value: impl IntoProp<i32, M>) -> Self {
7151        self.prop(<ferroui_controls::ToolTip>::between_show_delay_property(), value)
7152    }
7153
7154    /// Sets [`ToolTip::show_on_disabled_property`](ferroui_controls::ToolTip::show_on_disabled_property).
7155    fn show_on_disabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
7156        self.prop(<ferroui_controls::ToolTip>::show_on_disabled_property(), value)
7157    }
7158
7159    /// Sets [`ToolTip::service_enabled_property`](ferroui_controls::ToolTip::service_enabled_property).
7160    fn service_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
7161        self.prop(<ferroui_controls::ToolTip>::service_enabled_property(), value)
7162    }
7163
7164    /// Sets [`ToolTip::should_use_overlay_layer_property`](ferroui_controls::ToolTip::should_use_overlay_layer_property).
7165    fn should_use_overlay_layer<M>(self, value: impl IntoProp<bool, M>) -> Self {
7166        self.prop(<ferroui_controls::ToolTip>::should_use_overlay_layer_property(), value)
7167    }
7168
7169    /// Sets [`ToolTip::tool_tip_property`](ferroui_controls::ToolTip::tool_tip_property).
7170    fn tool_tip<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::ToolTip>>, M>) -> Self {
7171        self.prop(<ferroui_controls::ToolTip>::tool_tip_property(), value)
7172    }
7173
7174    /// Handles [`ToolTip::tool_tip_closing_event`](ferroui_controls::ToolTip::tool_tip_closing_event).
7175    fn on_tool_tip_closing(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7176        self.routed(<ferroui_controls::ToolTip>::tool_tip_closing_event(), move |_, e| handler(e))
7177    }
7178}
7179impl<T: ObjectType + Upcast<ferroui_controls::ToolTip>> ToolTipProps for El<T> {}
7180
7181/// The properties and routed events of [`TopLevel`](ferroui_controls::TopLevel).
7182pub trait TopLevelProps: ElementBuilder {
7183    /// Sets [`TopLevel::transparency_level_hint_property`](ferroui_controls::TopLevel::transparency_level_hint_property).
7184    fn transparency_level_hint<M>(self, value: impl IntoProp<ferroui_controls::WindowTransparencyLevelCollection, M>) -> Self {
7185        self.prop(<ferroui_controls::TopLevel>::transparency_level_hint_property(), value)
7186    }
7187
7188    /// Sets [`TopLevel::transparency_background_fallback_property`](ferroui_controls::TopLevel::transparency_background_fallback_property).
7189    fn transparency_background_fallback<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
7190        self.prop(<ferroui_controls::TopLevel>::transparency_background_fallback_property(), value)
7191    }
7192
7193    /// Sets [`TopLevel::system_bar_color_property`](ferroui_controls::TopLevel::system_bar_color_property).
7194    fn system_bar_color<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::SolidColorBrush>>, M>) -> Self {
7195        self.prop(<ferroui_controls::TopLevel>::system_bar_color_property(), value)
7196    }
7197
7198    /// Sets [`TopLevel::auto_safe_area_padding_property`](ferroui_controls::TopLevel::auto_safe_area_padding_property).
7199    fn auto_safe_area_padding<M>(self, value: impl IntoProp<bool, M>) -> Self {
7200        self.prop(<ferroui_controls::TopLevel>::auto_safe_area_padding_property(), value)
7201    }
7202
7203    /// Handles [`TopLevel::back_requested_event`](ferroui_controls::TopLevel::back_requested_event).
7204    fn on_back_requested(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7205        self.routed(<ferroui_controls::TopLevel>::back_requested_event(), move |_, e| handler(e))
7206    }
7207}
7208impl<T: ObjectType + Upcast<ferroui_controls::TopLevel>> TopLevelProps for El<T> {}
7209
7210/// The properties and routed events of [`Track`](ferroui_controls::primitives::Track).
7211pub trait TrackProps: ElementBuilder {
7212    /// Sets [`Track::minimum_property`](ferroui_controls::primitives::Track::minimum_property).
7213    fn minimum<M>(self, value: impl IntoProp<f64, M>) -> Self {
7214        self.prop(<ferroui_controls::primitives::Track>::minimum_property(), value)
7215    }
7216
7217    /// Sets [`Track::maximum_property`](ferroui_controls::primitives::Track::maximum_property).
7218    fn maximum<M>(self, value: impl IntoProp<f64, M>) -> Self {
7219        self.prop(<ferroui_controls::primitives::Track>::maximum_property(), value)
7220    }
7221
7222    /// Sets [`Track::value_property`](ferroui_controls::primitives::Track::value_property).
7223    fn value<M>(self, value: impl IntoProp<f64, M>) -> Self {
7224        self.prop(<ferroui_controls::primitives::Track>::value_property(), value)
7225    }
7226
7227    /// Sets [`Track::viewport_size_property`](ferroui_controls::primitives::Track::viewport_size_property).
7228    fn viewport_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
7229        self.prop(<ferroui_controls::primitives::Track>::viewport_size_property(), value)
7230    }
7231
7232    /// Sets [`Track::orientation_property`](ferroui_controls::primitives::Track::orientation_property).
7233    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
7234        self.prop(<ferroui_controls::primitives::Track>::orientation_property(), value)
7235    }
7236
7237    /// Sets [`Track::thumb_property`](ferroui_controls::primitives::Track::thumb_property).
7238    fn thumb<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::Thumb>>, M>) -> Self {
7239        self.prop(<ferroui_controls::primitives::Track>::thumb_property(), value)
7240    }
7241
7242    /// Sets [`Track::increase_button_property`](ferroui_controls::primitives::Track::increase_button_property).
7243    fn increase_button<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Button>>, M>) -> Self {
7244        self.prop(<ferroui_controls::primitives::Track>::increase_button_property(), value)
7245    }
7246
7247    /// Sets [`Track::decrease_button_property`](ferroui_controls::primitives::Track::decrease_button_property).
7248    fn decrease_button<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Button>>, M>) -> Self {
7249        self.prop(<ferroui_controls::primitives::Track>::decrease_button_property(), value)
7250    }
7251
7252    /// Sets [`Track::is_direction_reversed_property`](ferroui_controls::primitives::Track::is_direction_reversed_property).
7253    fn is_direction_reversed<M>(self, value: impl IntoProp<bool, M>) -> Self {
7254        self.prop(<ferroui_controls::primitives::Track>::is_direction_reversed_property(), value)
7255    }
7256
7257    /// Sets [`Track::ignore_thumb_drag_property`](ferroui_controls::primitives::Track::ignore_thumb_drag_property).
7258    fn ignore_thumb_drag<M>(self, value: impl IntoProp<bool, M>) -> Self {
7259        self.prop(<ferroui_controls::primitives::Track>::ignore_thumb_drag_property(), value)
7260    }
7261
7262    /// Sets [`Track::defer_thumb_drag_property`](ferroui_controls::primitives::Track::defer_thumb_drag_property).
7263    fn defer_thumb_drag<M>(self, value: impl IntoProp<bool, M>) -> Self {
7264        self.prop(<ferroui_controls::primitives::Track>::defer_thumb_drag_property(), value)
7265    }
7266}
7267impl<T: ObjectType + Upcast<ferroui_controls::primitives::Track>> TrackProps for El<T> {}
7268
7269/// The properties and routed events of [`TransitionBase`](ferroui_base::animation::TransitionBase).
7270pub trait TransitionBaseProps: ElementBuilder {
7271    /// Sets [`TransitionBase::duration_property`](ferroui_base::animation::TransitionBase::duration_property).
7272    fn duration<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
7273        self.prop(<ferroui_base::animation::TransitionBase>::duration_property(), value)
7274    }
7275
7276    /// Sets [`TransitionBase::delay_property`](ferroui_base::animation::TransitionBase::delay_property).
7277    fn delay<M>(self, value: impl IntoProp<ferroui_base::animation::TimeSpan, M>) -> Self {
7278        self.prop(<ferroui_base::animation::TransitionBase>::delay_property(), value)
7279    }
7280
7281    /// Sets [`TransitionBase::easing_property`](ferroui_base::animation::TransitionBase::easing_property).
7282    fn easing<M>(self, value: impl IntoProp<ferroui_base::animation::easings::Easing, M>) -> Self {
7283        self.prop(<ferroui_base::animation::TransitionBase>::easing_property(), value)
7284    }
7285}
7286impl<T: ObjectType + Upcast<ferroui_base::animation::TransitionBase>> TransitionBaseProps for El<T> {}
7287
7288/// The properties and routed events of [`TransitioningContentControl`](ferroui_controls::TransitioningContentControl).
7289pub trait TransitioningContentControlProps: ElementBuilder {
7290    /// Sets [`TransitioningContentControl::page_transition_property`](ferroui_controls::TransitioningContentControl::page_transition_property).
7291    fn page_transition<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::animation::IPageTransition>>, M>) -> Self {
7292        self.prop(<ferroui_controls::TransitioningContentControl>::page_transition_property(), value)
7293    }
7294
7295    /// Sets [`TransitioningContentControl::is_transition_reversed_property`](ferroui_controls::TransitioningContentControl::is_transition_reversed_property).
7296    fn is_transition_reversed<M>(self, value: impl IntoProp<bool, M>) -> Self {
7297        self.prop(<ferroui_controls::TransitioningContentControl>::is_transition_reversed_property(), value)
7298    }
7299
7300    /// Handles [`TransitioningContentControl::transition_completed_event`](ferroui_controls::TransitioningContentControl::transition_completed_event).
7301    fn on_transition_completed(self, handler: impl Fn(&ferroui_controls::TransitionCompletedEventArgs) + 'static) -> Self {
7302        self.routed(<ferroui_controls::TransitioningContentControl>::transition_completed_event(), move |_, e| handler(e))
7303    }
7304}
7305impl<T: ObjectType + Upcast<ferroui_controls::TransitioningContentControl>> TransitioningContentControlProps for El<T> {}
7306
7307/// The properties and routed events of [`TranslateTransform`](ferroui_base::media::TranslateTransform).
7308pub trait TranslateTransformProps: ElementBuilder {
7309    /// Sets [`TranslateTransform::x_property`](ferroui_base::media::TranslateTransform::x_property).
7310    fn x<M>(self, value: impl IntoProp<f64, M>) -> Self {
7311        self.prop(<ferroui_base::media::TranslateTransform>::x_property(), value)
7312    }
7313
7314    /// Sets [`TranslateTransform::y_property`](ferroui_base::media::TranslateTransform::y_property).
7315    fn y<M>(self, value: impl IntoProp<f64, M>) -> Self {
7316        self.prop(<ferroui_base::media::TranslateTransform>::y_property(), value)
7317    }
7318}
7319impl<T: ObjectType + Upcast<ferroui_base::media::TranslateTransform>> TranslateTransformProps for El<T> {}
7320
7321/// The properties and routed events of [`TrayIcon`](ferroui_controls::TrayIcon).
7322pub trait TrayIconProps: ElementBuilder {
7323    /// Sets [`TrayIcon::command_property`](ferroui_controls::TrayIcon::command_property).
7324    fn command<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::input::ICommand>>, M>) -> Self {
7325        self.prop(<ferroui_controls::TrayIcon>::command_property(), value)
7326    }
7327
7328    /// Sets [`TrayIcon::command_parameter_property`](ferroui_controls::TrayIcon::command_parameter_property).
7329    fn command_parameter<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7330        self.prop(<ferroui_controls::TrayIcon>::command_parameter_property(), value)
7331    }
7332
7333    /// Sets [`TrayIcon::icons_property`](ferroui_controls::TrayIcon::icons_property).
7334    fn icons<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_controls::TrayIcons>>, M>) -> Self {
7335        self.prop(<ferroui_controls::TrayIcon>::icons_property(), value)
7336    }
7337
7338    /// Sets [`TrayIcon::menu_property`](ferroui_controls::TrayIcon::menu_property).
7339    fn menu<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::NativeMenu>>, M>) -> Self {
7340        self.prop(<ferroui_controls::TrayIcon>::menu_property(), value)
7341    }
7342
7343    /// Sets [`TrayIcon::icon_property`](ferroui_controls::TrayIcon::icon_property).
7344    fn icon<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_controls::WindowIcon>>, M>) -> Self {
7345        self.prop(<ferroui_controls::TrayIcon>::icon_property(), value)
7346    }
7347
7348    /// Sets [`TrayIcon::tool_tip_text_property`](ferroui_controls::TrayIcon::tool_tip_text_property).
7349    fn tool_tip_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7350        self.prop(<ferroui_controls::TrayIcon>::tool_tip_text_property(), value)
7351    }
7352
7353    /// Sets [`TrayIcon::is_visible_property`](ferroui_controls::TrayIcon::is_visible_property).
7354    fn is_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
7355        self.prop(<ferroui_controls::TrayIcon>::is_visible_property(), value)
7356    }
7357}
7358impl<T: ObjectType + Upcast<ferroui_controls::TrayIcon>> TrayIconProps for El<T> {}
7359
7360/// The properties and routed events of [`TreeView`](ferroui_controls::TreeView).
7361pub trait TreeViewProps: ElementBuilder {
7362    /// Sets [`TreeView::auto_scroll_to_selected_item_property`](ferroui_controls::TreeView::auto_scroll_to_selected_item_property).
7363    fn auto_scroll_to_selected_item<M>(self, value: impl IntoProp<bool, M>) -> Self {
7364        self.prop(<ferroui_controls::TreeView>::auto_scroll_to_selected_item_property(), value)
7365    }
7366
7367    /// Sets [`TreeView::selected_item_property`](ferroui_controls::TreeView::selected_item_property).
7368    fn selected_item<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7369        self.prop(<ferroui_controls::TreeView>::selected_item_property(), value)
7370    }
7371
7372    /// Sets [`TreeView::selection_mode_property`](ferroui_controls::TreeView::selection_mode_property).
7373    fn selection_mode<M>(self, value: impl IntoProp<ferroui_controls::SelectionMode, M>) -> Self {
7374        self.prop(<ferroui_controls::TreeView>::selection_mode_property(), value)
7375    }
7376}
7377impl<T: ObjectType + Upcast<ferroui_controls::TreeView>> TreeViewProps for El<T> {}
7378
7379/// The properties and routed events of [`TreeViewItem`](ferroui_controls::TreeViewItem).
7380pub trait TreeViewItemProps: ElementBuilder {
7381    /// Sets [`TreeViewItem::is_expanded_property`](ferroui_controls::TreeViewItem::is_expanded_property).
7382    fn is_expanded<M>(self, value: impl IntoProp<bool, M>) -> Self {
7383        self.prop(<ferroui_controls::TreeViewItem>::is_expanded_property(), value)
7384    }
7385
7386    /// Sets [`TreeViewItem::is_selected_property`](ferroui_controls::TreeViewItem::is_selected_property).
7387    fn is_selected<M>(self, value: impl IntoProp<bool, M>) -> Self {
7388        self.prop(<ferroui_controls::TreeViewItem>::is_selected_property(), value)
7389    }
7390
7391    /// Handles [`TreeViewItem::expanded_event`](ferroui_controls::TreeViewItem::expanded_event).
7392    fn on_expanded(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7393        self.routed(<ferroui_controls::TreeViewItem>::expanded_event(), move |_, e| handler(e))
7394    }
7395
7396    /// Handles [`TreeViewItem::collapsed_event`](ferroui_controls::TreeViewItem::collapsed_event).
7397    fn on_collapsed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7398        self.routed(<ferroui_controls::TreeViewItem>::collapsed_event(), move |_, e| handler(e))
7399    }
7400}
7401impl<T: ObjectType + Upcast<ferroui_controls::TreeViewItem>> TreeViewItemProps for El<T> {}
7402
7403/// The properties and routed events of [`UniformGrid`](ferroui_controls::primitives::UniformGrid).
7404pub trait UniformGridProps: ElementBuilder {
7405    /// Sets [`UniformGrid::rows_property`](ferroui_controls::primitives::UniformGrid::rows_property).
7406    fn rows<M>(self, value: impl IntoProp<i32, M>) -> Self {
7407        self.prop(<ferroui_controls::primitives::UniformGrid>::rows_property(), value)
7408    }
7409
7410    /// Sets [`UniformGrid::columns_property`](ferroui_controls::primitives::UniformGrid::columns_property).
7411    fn columns<M>(self, value: impl IntoProp<i32, M>) -> Self {
7412        self.prop(<ferroui_controls::primitives::UniformGrid>::columns_property(), value)
7413    }
7414
7415    /// Sets [`UniformGrid::first_column_property`](ferroui_controls::primitives::UniformGrid::first_column_property).
7416    fn first_column<M>(self, value: impl IntoProp<i32, M>) -> Self {
7417        self.prop(<ferroui_controls::primitives::UniformGrid>::first_column_property(), value)
7418    }
7419
7420    /// Sets [`UniformGrid::row_spacing_property`](ferroui_controls::primitives::UniformGrid::row_spacing_property).
7421    fn row_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
7422        self.prop(<ferroui_controls::primitives::UniformGrid>::row_spacing_property(), value)
7423    }
7424
7425    /// Sets [`UniformGrid::column_spacing_property`](ferroui_controls::primitives::UniformGrid::column_spacing_property).
7426    fn column_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
7427        self.prop(<ferroui_controls::primitives::UniformGrid>::column_spacing_property(), value)
7428    }
7429}
7430impl<T: ObjectType + Upcast<ferroui_controls::primitives::UniformGrid>> UniformGridProps for El<T> {}
7431
7432/// The properties and routed events of [`Viewbox`](ferroui_controls::Viewbox).
7433pub trait ViewboxProps: ElementBuilder {
7434    /// Sets [`Viewbox::stretch_property`](ferroui_controls::Viewbox::stretch_property).
7435    fn stretch<M>(self, value: impl IntoProp<ferroui_base::media::Stretch, M>) -> Self {
7436        self.prop(<ferroui_controls::Viewbox>::stretch_property(), value)
7437    }
7438
7439    /// Sets [`Viewbox::stretch_direction_property`](ferroui_controls::Viewbox::stretch_direction_property).
7440    fn stretch_direction<M>(self, value: impl IntoProp<ferroui_base::media::StretchDirection, M>) -> Self {
7441        self.prop(<ferroui_controls::Viewbox>::stretch_direction_property(), value)
7442    }
7443}
7444impl<T: ObjectType + Upcast<ferroui_controls::Viewbox>> ViewboxProps for El<T> {}
7445
7446/// The properties and routed events of [`VirtualizingStackPanel`](ferroui_controls::VirtualizingStackPanel).
7447pub trait VirtualizingStackPanelProps: ElementBuilder {
7448    /// Sets [`VirtualizingStackPanel::orientation_property`](ferroui_controls::VirtualizingStackPanel::orientation_property).
7449    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
7450        self.prop(<ferroui_controls::VirtualizingStackPanel>::orientation_property(), value)
7451    }
7452
7453    /// Sets [`VirtualizingStackPanel::are_horizontal_snap_points_regular_property`](ferroui_controls::VirtualizingStackPanel::are_horizontal_snap_points_regular_property).
7454    fn are_horizontal_snap_points_regular<M>(self, value: impl IntoProp<bool, M>) -> Self {
7455        self.prop(<ferroui_controls::VirtualizingStackPanel>::are_horizontal_snap_points_regular_property(), value)
7456    }
7457
7458    /// Sets [`VirtualizingStackPanel::are_vertical_snap_points_regular_property`](ferroui_controls::VirtualizingStackPanel::are_vertical_snap_points_regular_property).
7459    fn are_vertical_snap_points_regular<M>(self, value: impl IntoProp<bool, M>) -> Self {
7460        self.prop(<ferroui_controls::VirtualizingStackPanel>::are_vertical_snap_points_regular_property(), value)
7461    }
7462
7463    /// Sets [`VirtualizingStackPanel::cache_length_property`](ferroui_controls::VirtualizingStackPanel::cache_length_property).
7464    fn cache_length<M>(self, value: impl IntoProp<f64, M>) -> Self {
7465        self.prop(<ferroui_controls::VirtualizingStackPanel>::cache_length_property(), value)
7466    }
7467
7468    /// Handles [`VirtualizingStackPanel::horizontal_snap_points_changed_event`](ferroui_controls::VirtualizingStackPanel::horizontal_snap_points_changed_event).
7469    fn on_horizontal_snap_points_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7470        self.routed(<ferroui_controls::VirtualizingStackPanel>::horizontal_snap_points_changed_event(), move |_, e| handler(e))
7471    }
7472
7473    /// Handles [`VirtualizingStackPanel::vertical_snap_points_changed_event`](ferroui_controls::VirtualizingStackPanel::vertical_snap_points_changed_event).
7474    fn on_vertical_snap_points_changed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7475        self.routed(<ferroui_controls::VirtualizingStackPanel>::vertical_snap_points_changed_event(), move |_, e| handler(e))
7476    }
7477}
7478impl<T: ObjectType + Upcast<ferroui_controls::VirtualizingStackPanel>> VirtualizingStackPanelProps for El<T> {}
7479
7480/// The properties and routed events of [`Visual`](ferroui_base::Visual).
7481pub trait VisualProps: ElementBuilder {
7482    /// Sets [`Visual::clip_to_bounds_property`](ferroui_base::Visual::clip_to_bounds_property).
7483    fn clip_to_bounds<M>(self, value: impl IntoProp<bool, M>) -> Self {
7484        self.prop(<ferroui_base::Visual>::clip_to_bounds_property(), value)
7485    }
7486
7487    /// Sets [`Visual::clip_property`](ferroui_base::Visual::clip_property).
7488    fn clip<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::Geometry>>, M>) -> Self {
7489        self.prop(<ferroui_base::Visual>::clip_property(), value)
7490    }
7491
7492    /// Sets [`Visual::cache_mode_property`](ferroui_base::Visual::cache_mode_property).
7493    fn cache_mode<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::CacheMode>>, M>) -> Self {
7494        self.prop(<ferroui_base::Visual>::cache_mode_property(), value)
7495    }
7496
7497    /// Sets [`Visual::effect_property`](ferroui_base::Visual::effect_property).
7498    fn effect<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IEffect>>, M>) -> Self {
7499        self.prop(<ferroui_base::Visual>::effect_property(), value)
7500    }
7501
7502    /// Sets [`Visual::opacity_mask_property`](ferroui_base::Visual::opacity_mask_property).
7503    fn opacity_mask<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
7504        self.prop(<ferroui_base::Visual>::opacity_mask_property(), value)
7505    }
7506
7507    /// Sets [`Visual::render_transform_property`](ferroui_base::Visual::render_transform_property).
7508    fn render_transform<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::ITransform>>, M>) -> Self {
7509        self.prop(<ferroui_base::Visual>::render_transform_property(), value)
7510    }
7511
7512    /// Sets [`Visual::render_transform_origin_property`](ferroui_base::Visual::render_transform_origin_property).
7513    fn render_transform_origin<M>(self, value: impl IntoProp<ferroui_base::RelativePoint, M>) -> Self {
7514        self.prop(<ferroui_base::Visual>::render_transform_origin_property(), value)
7515    }
7516
7517    /// Sets [`Visual::is_visible_property`](ferroui_base::Visual::is_visible_property).
7518    fn is_visible<M>(self, value: impl IntoProp<bool, M>) -> Self {
7519        self.prop(<ferroui_base::Visual>::is_visible_property(), value)
7520    }
7521
7522    /// Sets [`Visual::opacity_property`](ferroui_base::Visual::opacity_property).
7523    fn opacity<M>(self, value: impl IntoProp<f64, M>) -> Self {
7524        self.prop(<ferroui_base::Visual>::opacity_property(), value)
7525    }
7526
7527    /// Sets [`Visual::flow_direction_property`](ferroui_base::Visual::flow_direction_property).
7528    fn flow_direction<M>(self, value: impl IntoProp<ferroui_base::media::FlowDirection, M>) -> Self {
7529        self.prop(<ferroui_base::Visual>::flow_direction_property(), value)
7530    }
7531
7532    /// Sets [`Visual::z_index_property`](ferroui_base::Visual::z_index_property).
7533    fn z_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
7534        self.prop(<ferroui_base::Visual>::z_index_property(), value)
7535    }
7536}
7537impl<T: ObjectType + Upcast<ferroui_base::Visual>> VisualProps for El<T> {}
7538
7539/// The properties and routed events of [`VisualBrush`](ferroui_base::media::VisualBrush).
7540pub trait VisualBrushProps: ElementBuilder {
7541    /// Sets [`VisualBrush::visual_property`](ferroui_base::media::VisualBrush::visual_property).
7542    fn visual<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::Visual>>, M>) -> Self {
7543        self.prop(<ferroui_base::media::VisualBrush>::visual_property(), value)
7544    }
7545}
7546impl<T: ObjectType + Upcast<ferroui_base::media::VisualBrush>> VisualBrushProps for El<T> {}
7547
7548/// The properties and routed events of [`Window`](ferroui_controls::Window).
7549pub trait WindowProps: ElementBuilder {
7550    /// Sets [`Window::size_to_content_property`](ferroui_controls::Window::size_to_content_property).
7551    fn size_to_content<M>(self, value: impl IntoProp<ferroui_controls::SizeToContent, M>) -> Self {
7552        self.prop(<ferroui_controls::Window>::size_to_content_property(), value)
7553    }
7554
7555    /// Sets [`Window::extend_client_area_to_decorations_hint_property`](ferroui_controls::Window::extend_client_area_to_decorations_hint_property).
7556    fn extend_client_area_to_decorations_hint<M>(self, value: impl IntoProp<bool, M>) -> Self {
7557        self.prop(<ferroui_controls::Window>::extend_client_area_to_decorations_hint_property(), value)
7558    }
7559
7560    /// Sets [`Window::extend_client_area_title_bar_height_hint_property`](ferroui_controls::Window::extend_client_area_title_bar_height_hint_property).
7561    fn extend_client_area_title_bar_height_hint<M>(self, value: impl IntoProp<f64, M>) -> Self {
7562        self.prop(<ferroui_controls::Window>::extend_client_area_title_bar_height_hint_property(), value)
7563    }
7564
7565    /// Sets [`Window::window_decorations_property`](ferroui_controls::Window::window_decorations_property).
7566    fn window_decorations<M>(self, value: impl IntoProp<ferroui_controls::WindowDecorations, M>) -> Self {
7567        self.prop(<ferroui_controls::Window>::window_decorations_property(), value)
7568    }
7569
7570    /// Sets [`Window::window_decorations_theme_property`](ferroui_controls::Window::window_decorations_theme_property).
7571    fn window_decorations_theme<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::styling::ControlTheme>>, M>) -> Self {
7572        self.prop(<ferroui_controls::Window>::window_decorations_theme_property(), value)
7573    }
7574
7575    /// Sets [`Window::show_activated_property`](ferroui_controls::Window::show_activated_property).
7576    fn show_activated<M>(self, value: impl IntoProp<bool, M>) -> Self {
7577        self.prop(<ferroui_controls::Window>::show_activated_property(), value)
7578    }
7579
7580    /// Sets [`Window::show_in_taskbar_property`](ferroui_controls::Window::show_in_taskbar_property).
7581    fn show_in_taskbar<M>(self, value: impl IntoProp<bool, M>) -> Self {
7582        self.prop(<ferroui_controls::Window>::show_in_taskbar_property(), value)
7583    }
7584
7585    /// Sets [`Window::closing_behavior_property`](ferroui_controls::Window::closing_behavior_property).
7586    fn closing_behavior<M>(self, value: impl IntoProp<ferroui_controls::WindowClosingBehavior, M>) -> Self {
7587        self.prop(<ferroui_controls::Window>::closing_behavior_property(), value)
7588    }
7589
7590    /// Sets [`Window::window_state_property`](ferroui_controls::Window::window_state_property).
7591    fn window_state<M>(self, value: impl IntoProp<ferroui_controls::WindowState, M>) -> Self {
7592        self.prop(<ferroui_controls::Window>::window_state_property(), value)
7593    }
7594
7595    /// Sets [`Window::title_property`](ferroui_controls::Window::title_property).
7596    fn title<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7597        self.prop(<ferroui_controls::Window>::title_property(), value)
7598    }
7599
7600    /// Sets [`Window::icon_property`](ferroui_controls::Window::icon_property).
7601    fn icon<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_controls::WindowIcon>>, M>) -> Self {
7602        self.prop(<ferroui_controls::Window>::icon_property(), value)
7603    }
7604
7605    /// Sets [`Window::window_startup_location_property`](ferroui_controls::Window::window_startup_location_property).
7606    fn window_startup_location<M>(self, value: impl IntoProp<ferroui_controls::WindowStartupLocation, M>) -> Self {
7607        self.prop(<ferroui_controls::Window>::window_startup_location_property(), value)
7608    }
7609
7610    /// Sets [`Window::can_resize_property`](ferroui_controls::Window::can_resize_property).
7611    fn can_resize<M>(self, value: impl IntoProp<bool, M>) -> Self {
7612        self.prop(<ferroui_controls::Window>::can_resize_property(), value)
7613    }
7614
7615    /// Sets [`Window::can_minimize_property`](ferroui_controls::Window::can_minimize_property).
7616    fn can_minimize<M>(self, value: impl IntoProp<bool, M>) -> Self {
7617        self.prop(<ferroui_controls::Window>::can_minimize_property(), value)
7618    }
7619
7620    /// Sets [`Window::can_maximize_property`](ferroui_controls::Window::can_maximize_property).
7621    fn can_maximize<M>(self, value: impl IntoProp<bool, M>) -> Self {
7622        self.prop(<ferroui_controls::Window>::can_maximize_property(), value)
7623    }
7624
7625    /// Handles [`Window::window_closed_event`](ferroui_controls::Window::window_closed_event).
7626    fn on_window_closed(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7627        self.routed(<ferroui_controls::Window>::window_closed_event(), move |_, e| handler(e))
7628    }
7629
7630    /// Handles [`Window::window_opened_event`](ferroui_controls::Window::window_opened_event).
7631    fn on_window_opened(self, handler: impl Fn(&ferroui_base::interactivity::RoutedEventArgs) + 'static) -> Self {
7632        self.routed(<ferroui_controls::Window>::window_opened_event(), move |_, e| handler(e))
7633    }
7634}
7635impl<T: ObjectType + Upcast<ferroui_controls::Window>> WindowProps for El<T> {}
7636
7637/// The properties and routed events of [`WindowBase`](ferroui_controls::WindowBase).
7638pub trait WindowBaseProps: ElementBuilder {
7639    /// Sets [`WindowBase::topmost_property`](ferroui_controls::WindowBase::topmost_property).
7640    fn topmost<M>(self, value: impl IntoProp<bool, M>) -> Self {
7641        self.prop(<ferroui_controls::WindowBase>::topmost_property(), value)
7642    }
7643}
7644impl<T: ObjectType + Upcast<ferroui_controls::WindowBase>> WindowBaseProps for El<T> {}
7645
7646/// The properties and routed events of [`WindowDrawnDecorations`](ferroui_controls::chrome::WindowDrawnDecorations).
7647pub trait WindowDrawnDecorationsProps: ElementBuilder {
7648    /// Sets [`WindowDrawnDecorations::template_property`](ferroui_controls::chrome::WindowDrawnDecorations::template_property).
7649    fn template<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_controls::chrome::IWindowDrawnDecorationsTemplate>>, M>) -> Self {
7650        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::template_property(), value)
7651    }
7652
7653    /// Sets [`WindowDrawnDecorations::default_title_bar_height_property`](ferroui_controls::chrome::WindowDrawnDecorations::default_title_bar_height_property).
7654    fn default_title_bar_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
7655        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::default_title_bar_height_property(), value)
7656    }
7657
7658    /// Sets [`WindowDrawnDecorations::default_frame_thickness_property`](ferroui_controls::chrome::WindowDrawnDecorations::default_frame_thickness_property).
7659    fn default_frame_thickness<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
7660        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::default_frame_thickness_property(), value)
7661    }
7662
7663    /// Sets [`WindowDrawnDecorations::default_shadow_thickness_property`](ferroui_controls::chrome::WindowDrawnDecorations::default_shadow_thickness_property).
7664    fn default_shadow_thickness<M>(self, value: impl IntoProp<ferroui_base::Thickness, M>) -> Self {
7665        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::default_shadow_thickness_property(), value)
7666    }
7667
7668    /// Sets [`WindowDrawnDecorations::title_property`](ferroui_controls::chrome::WindowDrawnDecorations::title_property).
7669    fn title<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7670        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::title_property(), value)
7671    }
7672
7673    /// Sets [`WindowDrawnDecorations::title_bar_decorations_property`](ferroui_controls::chrome::WindowDrawnDecorations::title_bar_decorations_property).
7674    fn title_bar_decorations<M>(self, value: impl IntoProp<ferroui_controls::chrome::TitleBarDecorations, M>) -> Self {
7675        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::title_bar_decorations_property(), value)
7676    }
7677}
7678impl<T: ObjectType + Upcast<ferroui_controls::chrome::WindowDrawnDecorations>> WindowDrawnDecorationsProps for El<T> {}
7679
7680/// The properties and routed events of [`WindowNotificationManager`](ferroui_controls::WindowNotificationManager).
7681pub trait WindowNotificationManagerProps: ElementBuilder {
7682    /// Sets [`WindowNotificationManager::position_property`](ferroui_controls::WindowNotificationManager::position_property).
7683    fn position<M>(self, value: impl IntoProp<ferroui_controls::NotificationPosition, M>) -> Self {
7684        self.prop(<ferroui_controls::WindowNotificationManager>::position_property(), value)
7685    }
7686
7687    /// Sets [`WindowNotificationManager::max_items_property`](ferroui_controls::WindowNotificationManager::max_items_property).
7688    fn max_items<M>(self, value: impl IntoProp<i32, M>) -> Self {
7689        self.prop(<ferroui_controls::WindowNotificationManager>::max_items_property(), value)
7690    }
7691}
7692impl<T: ObjectType + Upcast<ferroui_controls::WindowNotificationManager>> WindowNotificationManagerProps for El<T> {}
7693
7694/// The properties and routed events of [`WrapPanel`](ferroui_controls::WrapPanel).
7695pub trait WrapPanelProps: ElementBuilder {
7696    /// Sets [`WrapPanel::item_spacing_property`](ferroui_controls::WrapPanel::item_spacing_property).
7697    fn item_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
7698        self.prop(<ferroui_controls::WrapPanel>::item_spacing_property(), value)
7699    }
7700
7701    /// Sets [`WrapPanel::line_spacing_property`](ferroui_controls::WrapPanel::line_spacing_property).
7702    fn line_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
7703        self.prop(<ferroui_controls::WrapPanel>::line_spacing_property(), value)
7704    }
7705
7706    /// Sets [`WrapPanel::orientation_property`](ferroui_controls::WrapPanel::orientation_property).
7707    fn orientation<M>(self, value: impl IntoProp<ferroui_base::layout::Orientation, M>) -> Self {
7708        self.prop(<ferroui_controls::WrapPanel>::orientation_property(), value)
7709    }
7710
7711    /// Sets [`WrapPanel::items_alignment_property`](ferroui_controls::WrapPanel::items_alignment_property).
7712    fn items_alignment<M>(self, value: impl IntoProp<ferroui_controls::WrapPanelItemsAlignment, M>) -> Self {
7713        self.prop(<ferroui_controls::WrapPanel>::items_alignment_property(), value)
7714    }
7715
7716    /// Sets [`WrapPanel::item_width_property`](ferroui_controls::WrapPanel::item_width_property).
7717    fn item_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
7718        self.prop(<ferroui_controls::WrapPanel>::item_width_property(), value)
7719    }
7720
7721    /// Sets [`WrapPanel::item_height_property`](ferroui_controls::WrapPanel::item_height_property).
7722    fn item_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
7723        self.prop(<ferroui_controls::WrapPanel>::item_height_property(), value)
7724    }
7725}
7726impl<T: ObjectType + Upcast<ferroui_controls::WrapPanel>> WrapPanelProps for El<T> {}
7727
7728/// The attached properties of FerroUI.Base and FerroUI.Controls, named after their owner.
7729pub trait AttachedProps: ElementBuilder {
7730    /// Sets the attached [`AccessKeyHandler::show_access_key_property`](ferroui_base::input::AccessKeyHandler::show_access_key_property).
7731    fn access_key_handler_show_access_key<M>(self, value: impl IntoProp<bool, M>) -> Self {
7732        self.prop(<ferroui_base::input::AccessKeyHandler>::show_access_key_property(), value)
7733    }
7734
7735    /// Sets the attached [`AccessText::show_access_key_property`](ferroui_controls::primitives::AccessText::show_access_key_property).
7736    fn access_text_show_access_key<M>(self, value: impl IntoProp<bool, M>) -> Self {
7737        self.prop(<ferroui_controls::primitives::AccessText>::show_access_key_property(), value)
7738    }
7739
7740    /// Sets the attached [`AdornerLayer::is_clip_enabled_property`](ferroui_controls::primitives::AdornerLayer::is_clip_enabled_property).
7741    fn adorner_layer_is_clip_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
7742        self.prop(<ferroui_controls::primitives::AdornerLayer>::is_clip_enabled_property(), value)
7743    }
7744
7745    /// Sets the attached [`AdornerLayer::adorner_property`](ferroui_controls::primitives::AdornerLayer::adorner_property).
7746    fn adorner_layer_adorner<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
7747        self.prop(<ferroui_controls::primitives::AdornerLayer>::adorner_property(), value)
7748    }
7749
7750    /// Sets the attached [`AutomationProperties::accelerator_key_property`](ferroui_controls::automation::AutomationProperties::accelerator_key_property).
7751    fn automation_properties_accelerator_key<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7752        self.prop(<ferroui_controls::automation::AutomationProperties>::accelerator_key_property(), value)
7753    }
7754
7755    /// Sets the attached [`AutomationProperties::accessibility_view_property`](ferroui_controls::automation::AutomationProperties::accessibility_view_property).
7756    fn automation_properties_accessibility_view<M>(self, value: impl IntoProp<ferroui_controls::automation::AccessibilityView, M>) -> Self {
7757        self.prop(<ferroui_controls::automation::AutomationProperties>::accessibility_view_property(), value)
7758    }
7759
7760    /// Sets the attached [`AutomationProperties::access_key_property`](ferroui_controls::automation::AutomationProperties::access_key_property).
7761    fn automation_properties_access_key<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7762        self.prop(<ferroui_controls::automation::AutomationProperties>::access_key_property(), value)
7763    }
7764
7765    /// Sets the attached [`AutomationProperties::automation_id_property`](ferroui_controls::automation::AutomationProperties::automation_id_property).
7766    fn automation_properties_automation_id<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7767        self.prop(<ferroui_controls::automation::AutomationProperties>::automation_id_property(), value)
7768    }
7769
7770    /// Sets the attached [`AutomationProperties::control_type_override_property`](ferroui_controls::automation::AutomationProperties::control_type_override_property).
7771    fn automation_properties_control_type_override<M>(self, value: impl IntoProp<Option<ferroui_controls::automation::peers::AutomationControlType>, M>) -> Self {
7772        self.prop(<ferroui_controls::automation::AutomationProperties>::control_type_override_property(), value)
7773    }
7774
7775    /// Sets the attached [`AutomationProperties::class_name_override_property`](ferroui_controls::automation::AutomationProperties::class_name_override_property).
7776    fn automation_properties_class_name_override<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7777        self.prop(<ferroui_controls::automation::AutomationProperties>::class_name_override_property(), value)
7778    }
7779
7780    /// Sets the attached [`AutomationProperties::is_control_element_override_property`](ferroui_controls::automation::AutomationProperties::is_control_element_override_property).
7781    fn automation_properties_is_control_element_override<M>(self, value: impl IntoProp<Option<bool>, M>) -> Self {
7782        self.prop(<ferroui_controls::automation::AutomationProperties>::is_control_element_override_property(), value)
7783    }
7784
7785    /// Sets the attached [`AutomationProperties::help_text_property`](ferroui_controls::automation::AutomationProperties::help_text_property).
7786    fn automation_properties_help_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7787        self.prop(<ferroui_controls::automation::AutomationProperties>::help_text_property(), value)
7788    }
7789
7790    /// Sets the attached [`AutomationProperties::landmark_type_property`](ferroui_controls::automation::AutomationProperties::landmark_type_property).
7791    fn automation_properties_landmark_type<M>(self, value: impl IntoProp<Option<ferroui_controls::automation::peers::AutomationLandmarkType>, M>) -> Self {
7792        self.prop(<ferroui_controls::automation::AutomationProperties>::landmark_type_property(), value)
7793    }
7794
7795    /// Sets the attached [`AutomationProperties::heading_level_property`](ferroui_controls::automation::AutomationProperties::heading_level_property).
7796    fn automation_properties_heading_level<M>(self, value: impl IntoProp<i32, M>) -> Self {
7797        self.prop(<ferroui_controls::automation::AutomationProperties>::heading_level_property(), value)
7798    }
7799
7800    /// Sets the attached [`AutomationProperties::is_column_header_property`](ferroui_controls::automation::AutomationProperties::is_column_header_property).
7801    fn automation_properties_is_column_header<M>(self, value: impl IntoProp<bool, M>) -> Self {
7802        self.prop(<ferroui_controls::automation::AutomationProperties>::is_column_header_property(), value)
7803    }
7804
7805    /// Sets the attached [`AutomationProperties::is_required_for_form_property`](ferroui_controls::automation::AutomationProperties::is_required_for_form_property).
7806    fn automation_properties_is_required_for_form<M>(self, value: impl IntoProp<bool, M>) -> Self {
7807        self.prop(<ferroui_controls::automation::AutomationProperties>::is_required_for_form_property(), value)
7808    }
7809
7810    /// Sets the attached [`AutomationProperties::is_row_header_property`](ferroui_controls::automation::AutomationProperties::is_row_header_property).
7811    fn automation_properties_is_row_header<M>(self, value: impl IntoProp<bool, M>) -> Self {
7812        self.prop(<ferroui_controls::automation::AutomationProperties>::is_row_header_property(), value)
7813    }
7814
7815    /// Sets the attached [`AutomationProperties::is_offscreen_behavior_property`](ferroui_controls::automation::AutomationProperties::is_offscreen_behavior_property).
7816    fn automation_properties_is_offscreen_behavior<M>(self, value: impl IntoProp<ferroui_controls::automation::IsOffscreenBehavior, M>) -> Self {
7817        self.prop(<ferroui_controls::automation::AutomationProperties>::is_offscreen_behavior_property(), value)
7818    }
7819
7820    /// Sets the attached [`AutomationProperties::item_status_property`](ferroui_controls::automation::AutomationProperties::item_status_property).
7821    fn automation_properties_item_status<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7822        self.prop(<ferroui_controls::automation::AutomationProperties>::item_status_property(), value)
7823    }
7824
7825    /// Sets the attached [`AutomationProperties::item_type_property`](ferroui_controls::automation::AutomationProperties::item_type_property).
7826    fn automation_properties_item_type<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7827        self.prop(<ferroui_controls::automation::AutomationProperties>::item_type_property(), value)
7828    }
7829
7830    /// Sets the attached [`AutomationProperties::live_setting_property`](ferroui_controls::automation::AutomationProperties::live_setting_property).
7831    fn automation_properties_live_setting<M>(self, value: impl IntoProp<ferroui_controls::automation::AutomationLiveSetting, M>) -> Self {
7832        self.prop(<ferroui_controls::automation::AutomationProperties>::live_setting_property(), value)
7833    }
7834
7835    /// Sets the attached [`AutomationProperties::name_property`](ferroui_controls::automation::AutomationProperties::name_property).
7836    fn automation_properties_name<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7837        self.prop(<ferroui_controls::automation::AutomationProperties>::name_property(), value)
7838    }
7839
7840    /// Sets the attached [`AutomationProperties::position_in_set_property`](ferroui_controls::automation::AutomationProperties::position_in_set_property).
7841    fn automation_properties_position_in_set<M>(self, value: impl IntoProp<i32, M>) -> Self {
7842        self.prop(<ferroui_controls::automation::AutomationProperties>::position_in_set_property(), value)
7843    }
7844
7845    /// Sets the attached [`AutomationProperties::size_of_set_property`](ferroui_controls::automation::AutomationProperties::size_of_set_property).
7846    fn automation_properties_size_of_set<M>(self, value: impl IntoProp<i32, M>) -> Self {
7847        self.prop(<ferroui_controls::automation::AutomationProperties>::size_of_set_property(), value)
7848    }
7849
7850    /// Sets the attached [`Canvas::left_property`](ferroui_controls::Canvas::left_property).
7851    fn canvas_left<M>(self, value: impl IntoProp<f64, M>) -> Self {
7852        self.prop(<ferroui_controls::Canvas>::left_property(), value)
7853    }
7854
7855    /// Sets the attached [`Canvas::top_property`](ferroui_controls::Canvas::top_property).
7856    fn canvas_top<M>(self, value: impl IntoProp<f64, M>) -> Self {
7857        self.prop(<ferroui_controls::Canvas>::top_property(), value)
7858    }
7859
7860    /// Sets the attached [`Canvas::right_property`](ferroui_controls::Canvas::right_property).
7861    fn canvas_right<M>(self, value: impl IntoProp<f64, M>) -> Self {
7862        self.prop(<ferroui_controls::Canvas>::right_property(), value)
7863    }
7864
7865    /// Sets the attached [`Canvas::bottom_property`](ferroui_controls::Canvas::bottom_property).
7866    fn canvas_bottom<M>(self, value: impl IntoProp<f64, M>) -> Self {
7867        self.prop(<ferroui_controls::Canvas>::bottom_property(), value)
7868    }
7869
7870    /// Sets the attached [`Container::name_property`](ferroui_base::styling::Container::name_property).
7871    fn container_name<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7872        self.prop(<ferroui_base::styling::Container>::name_property(), value)
7873    }
7874
7875    /// Sets the attached [`Container::sizing_property`](ferroui_base::styling::Container::sizing_property).
7876    fn container_sizing<M>(self, value: impl IntoProp<ferroui_base::styling::ContainerSizing, M>) -> Self {
7877        self.prop(<ferroui_base::styling::Container>::sizing_property(), value)
7878    }
7879
7880    /// Sets the attached [`DataValidationErrors::errors_property`](ferroui_controls::DataValidationErrors::errors_property).
7881    fn data_validation_errors_errors<M>(self, value: impl IntoProp<Option<Vec<ferroui_base::BoxedValue>>, M>) -> Self {
7882        self.prop(<ferroui_controls::DataValidationErrors>::errors_property(), value)
7883    }
7884
7885    /// Sets the attached [`DataValidationErrors::has_errors_property`](ferroui_controls::DataValidationErrors::has_errors_property).
7886    fn data_validation_errors_has_errors<M>(self, value: impl IntoProp<bool, M>) -> Self {
7887        self.prop(<ferroui_controls::DataValidationErrors>::has_errors_property(), value)
7888    }
7889
7890    /// Sets the attached [`DefinitionBase::shared_size_group_property`](ferroui_controls::DefinitionBase::shared_size_group_property).
7891    fn definition_base_shared_size_group<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
7892        self.prop(<ferroui_controls::DefinitionBase>::shared_size_group_property(), value)
7893    }
7894
7895    /// Sets the attached [`Design::height_property`](ferroui_controls::Design::height_property).
7896    fn design_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
7897        self.prop(<ferroui_controls::Design>::height_property(), value)
7898    }
7899
7900    /// Sets the attached [`Design::width_property`](ferroui_controls::Design::width_property).
7901    fn design_width<M>(self, value: impl IntoProp<f64, M>) -> Self {
7902        self.prop(<ferroui_controls::Design>::width_property(), value)
7903    }
7904
7905    /// Sets the attached [`Design::data_context_property`](ferroui_controls::Design::data_context_property).
7906    fn design_data_context<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
7907        self.prop(<ferroui_controls::Design>::data_context_property(), value)
7908    }
7909
7910    /// Sets the attached [`Design::preview_with_property`](ferroui_controls::Design::preview_with_property).
7911    fn design_preview_with<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
7912        self.prop(<ferroui_controls::Design>::preview_with_property(), value)
7913    }
7914
7915    /// Sets the attached [`DockPanel::dock_property`](ferroui_controls::DockPanel::dock_property).
7916    fn dock_panel_dock<M>(self, value: impl IntoProp<ferroui_controls::Dock, M>) -> Self {
7917        self.prop(<ferroui_controls::DockPanel>::dock_property(), value)
7918    }
7919
7920    /// Sets the attached [`DragDrop::allow_drop_property`](ferroui_base::input::DragDrop::allow_drop_property).
7921    fn drag_drop_allow_drop<M>(self, value: impl IntoProp<bool, M>) -> Self {
7922        self.prop(<ferroui_base::input::DragDrop>::allow_drop_property(), value)
7923    }
7924
7925    /// Sets the attached [`Flex::align_self_property`](ferroui_controls::Flex::align_self_property).
7926    fn flex_align_self<M>(self, value: impl IntoProp<Option<ferroui_controls::FlexAlignItems>, M>) -> Self {
7927        self.prop(<ferroui_controls::Flex>::align_self_property(), value)
7928    }
7929
7930    /// Sets the attached [`Flex::order_property`](ferroui_controls::Flex::order_property).
7931    fn flex_order<M>(self, value: impl IntoProp<i32, M>) -> Self {
7932        self.prop(<ferroui_controls::Flex>::order_property(), value)
7933    }
7934
7935    /// Sets the attached [`Flex::shrink_property`](ferroui_controls::Flex::shrink_property).
7936    fn flex_shrink<M>(self, value: impl IntoProp<f64, M>) -> Self {
7937        self.prop(<ferroui_controls::Flex>::shrink_property(), value)
7938    }
7939
7940    /// Sets the attached [`Flex::grow_property`](ferroui_controls::Flex::grow_property).
7941    fn flex_grow<M>(self, value: impl IntoProp<f64, M>) -> Self {
7942        self.prop(<ferroui_controls::Flex>::grow_property(), value)
7943    }
7944
7945    /// Sets the attached [`FlyoutBase::attached_flyout_property`](ferroui_controls::primitives::FlyoutBase::attached_flyout_property).
7946    fn flyout_base_attached_flyout<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::primitives::FlyoutBase>>, M>) -> Self {
7947        self.prop(<ferroui_controls::primitives::FlyoutBase>::attached_flyout_property(), value)
7948    }
7949
7950    /// Sets the attached [`Grid::column_property`](ferroui_controls::Grid::column_property).
7951    fn grid_column<M>(self, value: impl IntoProp<i32, M>) -> Self {
7952        self.prop(<ferroui_controls::Grid>::column_property(), value)
7953    }
7954
7955    /// Sets the attached [`Grid::row_property`](ferroui_controls::Grid::row_property).
7956    fn grid_row<M>(self, value: impl IntoProp<i32, M>) -> Self {
7957        self.prop(<ferroui_controls::Grid>::row_property(), value)
7958    }
7959
7960    /// Sets the attached [`Grid::column_span_property`](ferroui_controls::Grid::column_span_property).
7961    fn grid_column_span<M>(self, value: impl IntoProp<i32, M>) -> Self {
7962        self.prop(<ferroui_controls::Grid>::column_span_property(), value)
7963    }
7964
7965    /// Sets the attached [`Grid::row_span_property`](ferroui_controls::Grid::row_span_property).
7966    fn grid_row_span<M>(self, value: impl IntoProp<i32, M>) -> Self {
7967        self.prop(<ferroui_controls::Grid>::row_span_property(), value)
7968    }
7969
7970    /// Sets the attached [`Grid::is_shared_size_scope_property`](ferroui_controls::Grid::is_shared_size_scope_property).
7971    fn grid_is_shared_size_scope<M>(self, value: impl IntoProp<bool, M>) -> Self {
7972        self.prop(<ferroui_controls::Grid>::is_shared_size_scope_property(), value)
7973    }
7974
7975    /// Sets the attached [`HotKeyManager::hot_key_property`](ferroui_controls::HotKeyManager::hot_key_property).
7976    fn hot_key_manager_hot_key<M>(self, value: impl IntoProp<Option<ferroui_base::input::KeyGesture>, M>) -> Self {
7977        self.prop(<ferroui_controls::HotKeyManager>::hot_key_property(), value)
7978    }
7979
7980    /// Sets the attached [`Inline::text_decorations_property`](ferroui_controls::documents::Inline::text_decorations_property).
7981    fn inline_text_decorations<M>(self, value: impl IntoProp<Option<ferroui_base::media::TextDecorationCollection>, M>) -> Self {
7982        self.prop(<ferroui_controls::documents::Inline>::text_decorations_property(), value)
7983    }
7984
7985    /// Sets the attached [`InputMethod::is_input_method_enabled_property`](ferroui_base::input::InputMethod::is_input_method_enabled_property).
7986    fn input_method_is_input_method_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
7987        self.prop(<ferroui_base::input::InputMethod>::is_input_method_enabled_property(), value)
7988    }
7989
7990    /// Sets the attached [`KeyboardNavigation::tab_index_property`](ferroui_base::input::KeyboardNavigation::tab_index_property).
7991    fn keyboard_navigation_tab_index<M>(self, value: impl IntoProp<i32, M>) -> Self {
7992        self.prop(<ferroui_base::input::KeyboardNavigation>::tab_index_property(), value)
7993    }
7994
7995    /// Sets the attached [`KeyboardNavigation::tab_navigation_property`](ferroui_base::input::KeyboardNavigation::tab_navigation_property).
7996    fn keyboard_navigation_tab_navigation<M>(self, value: impl IntoProp<ferroui_base::input::KeyboardNavigationMode, M>) -> Self {
7997        self.prop(<ferroui_base::input::KeyboardNavigation>::tab_navigation_property(), value)
7998    }
7999
8000    /// Sets the attached [`KeyboardNavigation::tab_once_active_element_property`](ferroui_base::input::KeyboardNavigation::tab_once_active_element_property).
8001    fn keyboard_navigation_tab_once_active_element<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::input::InputElement>>, M>) -> Self {
8002        self.prop(<ferroui_base::input::KeyboardNavigation>::tab_once_active_element_property(), value)
8003    }
8004
8005    /// Sets the attached [`KeyboardNavigation::is_tab_stop_property`](ferroui_base::input::KeyboardNavigation::is_tab_stop_property).
8006    fn keyboard_navigation_is_tab_stop<M>(self, value: impl IntoProp<bool, M>) -> Self {
8007        self.prop(<ferroui_base::input::KeyboardNavigation>::is_tab_stop_property(), value)
8008    }
8009
8010    /// Sets the attached [`MacOSProperties::is_template_icon_property`](ferroui_controls::MacOSProperties::is_template_icon_property).
8011    fn mac_os_properties_is_template_icon<M>(self, value: impl IntoProp<bool, M>) -> Self {
8012        self.prop(<ferroui_controls::MacOSProperties>::is_template_icon_property(), value)
8013    }
8014
8015    /// Sets the attached [`NativeDock::menu_property`](ferroui_controls::NativeDock::menu_property).
8016    fn native_dock_menu<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::NativeMenu>>, M>) -> Self {
8017        self.prop(<ferroui_controls::NativeDock>::menu_property(), value)
8018    }
8019
8020    /// Sets the attached [`NavigationPage::bar_layout_behavior_property`](ferroui_controls::NavigationPage::bar_layout_behavior_property).
8021    fn navigation_page_bar_layout_behavior<M>(self, value: impl IntoProp<Option<ferroui_controls::BarLayoutBehavior>, M>) -> Self {
8022        self.prop(<ferroui_controls::NavigationPage>::bar_layout_behavior_property(), value)
8023    }
8024
8025    /// Sets the attached [`NavigationPage::bar_height_override_property`](ferroui_controls::NavigationPage::bar_height_override_property).
8026    fn navigation_page_bar_height_override<M>(self, value: impl IntoProp<Option<f64>, M>) -> Self {
8027        self.prop(<ferroui_controls::NavigationPage>::bar_height_override_property(), value)
8028    }
8029
8030    /// Sets the attached [`NavigationPage::back_button_content_property`](ferroui_controls::NavigationPage::back_button_content_property).
8031    fn navigation_page_back_button_content<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8032        self.prop(<ferroui_controls::NavigationPage>::back_button_content_property(), value)
8033    }
8034
8035    /// Sets the attached [`NavigationPage::has_back_button_property`](ferroui_controls::NavigationPage::has_back_button_property).
8036    fn navigation_page_has_back_button<M>(self, value: impl IntoProp<bool, M>) -> Self {
8037        self.prop(<ferroui_controls::NavigationPage>::has_back_button_property(), value)
8038    }
8039
8040    /// Sets the attached [`NavigationPage::top_command_bar_property`](ferroui_controls::NavigationPage::top_command_bar_property).
8041    fn navigation_page_top_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
8042        self.prop(<ferroui_controls::NavigationPage>::top_command_bar_property(), value)
8043    }
8044
8045    /// Sets the attached [`NavigationPage::bottom_command_bar_property`](ferroui_controls::NavigationPage::bottom_command_bar_property).
8046    fn navigation_page_bottom_command_bar<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::Control>>, M>) -> Self {
8047        self.prop(<ferroui_controls::NavigationPage>::bottom_command_bar_property(), value)
8048    }
8049
8050    /// Sets the attached [`NavigationPage::has_navigation_bar_property`](ferroui_controls::NavigationPage::has_navigation_bar_property).
8051    fn navigation_page_has_navigation_bar<M>(self, value: impl IntoProp<bool, M>) -> Self {
8052        self.prop(<ferroui_controls::NavigationPage>::has_navigation_bar_property(), value)
8053    }
8054
8055    /// Sets the attached [`NavigationPage::is_back_button_enabled_property`](ferroui_controls::NavigationPage::is_back_button_enabled_property).
8056    fn navigation_page_is_back_button_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8057        self.prop(<ferroui_controls::NavigationPage>::is_back_button_enabled_property(), value)
8058    }
8059
8060    /// Sets the attached [`NotificationCard::close_on_click_property`](ferroui_controls::NotificationCard::close_on_click_property).
8061    fn notification_card_close_on_click<M>(self, value: impl IntoProp<bool, M>) -> Self {
8062        self.prop(<ferroui_controls::NotificationCard>::close_on_click_property(), value)
8063    }
8064
8065    /// Sets the attached [`NumericUpDown::text_alignment_property`](ferroui_controls::NumericUpDown::text_alignment_property).
8066    fn numeric_up_down_text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
8067        self.prop(<ferroui_controls::NumericUpDown>::text_alignment_property(), value)
8068    }
8069
8070    /// Sets the attached [`PlatformFeedback::feedback_type_property`](ferroui_controls::PlatformFeedback::feedback_type_property).
8071    fn platform_feedback_feedback_type<M>(self, value: impl IntoProp<ferroui_controls::FeedbackType, M>) -> Self {
8072        self.prop(<ferroui_controls::PlatformFeedback>::feedback_type_property(), value)
8073    }
8074
8075    /// Sets the attached [`Popup::takes_focus_from_native_control_property`](ferroui_controls::primitives::Popup::takes_focus_from_native_control_property).
8076    fn popup_takes_focus_from_native_control<M>(self, value: impl IntoProp<bool, M>) -> Self {
8077        self.prop(<ferroui_controls::primitives::Popup>::takes_focus_from_native_control_property(), value)
8078    }
8079
8080    /// Sets the attached [`RelativePanel::above_property`](ferroui_controls::RelativePanel::above_property).
8081    fn relative_panel_above<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8082        self.prop(<ferroui_controls::RelativePanel>::above_property(), value)
8083    }
8084
8085    /// Sets the attached [`RelativePanel::align_bottom_with_panel_property`](ferroui_controls::RelativePanel::align_bottom_with_panel_property).
8086    fn relative_panel_align_bottom_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8087        self.prop(<ferroui_controls::RelativePanel>::align_bottom_with_panel_property(), value)
8088    }
8089
8090    /// Sets the attached [`RelativePanel::align_bottom_with_property`](ferroui_controls::RelativePanel::align_bottom_with_property).
8091    fn relative_panel_align_bottom_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8092        self.prop(<ferroui_controls::RelativePanel>::align_bottom_with_property(), value)
8093    }
8094
8095    /// Sets the attached [`RelativePanel::align_horizontal_center_with_panel_property`](ferroui_controls::RelativePanel::align_horizontal_center_with_panel_property).
8096    fn relative_panel_align_horizontal_center_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8097        self.prop(<ferroui_controls::RelativePanel>::align_horizontal_center_with_panel_property(), value)
8098    }
8099
8100    /// Sets the attached [`RelativePanel::align_horizontal_center_with_property`](ferroui_controls::RelativePanel::align_horizontal_center_with_property).
8101    fn relative_panel_align_horizontal_center_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8102        self.prop(<ferroui_controls::RelativePanel>::align_horizontal_center_with_property(), value)
8103    }
8104
8105    /// Sets the attached [`RelativePanel::align_left_with_panel_property`](ferroui_controls::RelativePanel::align_left_with_panel_property).
8106    fn relative_panel_align_left_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8107        self.prop(<ferroui_controls::RelativePanel>::align_left_with_panel_property(), value)
8108    }
8109
8110    /// Sets the attached [`RelativePanel::align_left_with_property`](ferroui_controls::RelativePanel::align_left_with_property).
8111    fn relative_panel_align_left_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8112        self.prop(<ferroui_controls::RelativePanel>::align_left_with_property(), value)
8113    }
8114
8115    /// Sets the attached [`RelativePanel::align_right_with_panel_property`](ferroui_controls::RelativePanel::align_right_with_panel_property).
8116    fn relative_panel_align_right_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8117        self.prop(<ferroui_controls::RelativePanel>::align_right_with_panel_property(), value)
8118    }
8119
8120    /// Sets the attached [`RelativePanel::align_right_with_property`](ferroui_controls::RelativePanel::align_right_with_property).
8121    fn relative_panel_align_right_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8122        self.prop(<ferroui_controls::RelativePanel>::align_right_with_property(), value)
8123    }
8124
8125    /// Sets the attached [`RelativePanel::align_top_with_panel_property`](ferroui_controls::RelativePanel::align_top_with_panel_property).
8126    fn relative_panel_align_top_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8127        self.prop(<ferroui_controls::RelativePanel>::align_top_with_panel_property(), value)
8128    }
8129
8130    /// Sets the attached [`RelativePanel::align_top_with_property`](ferroui_controls::RelativePanel::align_top_with_property).
8131    fn relative_panel_align_top_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8132        self.prop(<ferroui_controls::RelativePanel>::align_top_with_property(), value)
8133    }
8134
8135    /// Sets the attached [`RelativePanel::align_vertical_center_with_panel_property`](ferroui_controls::RelativePanel::align_vertical_center_with_panel_property).
8136    fn relative_panel_align_vertical_center_with_panel<M>(self, value: impl IntoProp<bool, M>) -> Self {
8137        self.prop(<ferroui_controls::RelativePanel>::align_vertical_center_with_panel_property(), value)
8138    }
8139
8140    /// Sets the attached [`RelativePanel::align_vertical_center_with_property`](ferroui_controls::RelativePanel::align_vertical_center_with_property).
8141    fn relative_panel_align_vertical_center_with<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8142        self.prop(<ferroui_controls::RelativePanel>::align_vertical_center_with_property(), value)
8143    }
8144
8145    /// Sets the attached [`RelativePanel::below_property`](ferroui_controls::RelativePanel::below_property).
8146    fn relative_panel_below<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8147        self.prop(<ferroui_controls::RelativePanel>::below_property(), value)
8148    }
8149
8150    /// Sets the attached [`RelativePanel::left_of_property`](ferroui_controls::RelativePanel::left_of_property).
8151    fn relative_panel_left_of<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8152        self.prop(<ferroui_controls::RelativePanel>::left_of_property(), value)
8153    }
8154
8155    /// Sets the attached [`RelativePanel::right_of_property`](ferroui_controls::RelativePanel::right_of_property).
8156    fn relative_panel_right_of<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8157        self.prop(<ferroui_controls::RelativePanel>::right_of_property(), value)
8158    }
8159
8160    /// Sets the attached [`ScrollContentPresenter::horizontal_snap_points_type_property`](ferroui_controls::presenters::ScrollContentPresenter::horizontal_snap_points_type_property).
8161    fn scroll_content_presenter_horizontal_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
8162        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::horizontal_snap_points_type_property(), value)
8163    }
8164
8165    /// Sets the attached [`ScrollContentPresenter::vertical_snap_points_type_property`](ferroui_controls::presenters::ScrollContentPresenter::vertical_snap_points_type_property).
8166    fn scroll_content_presenter_vertical_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
8167        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::vertical_snap_points_type_property(), value)
8168    }
8169
8170    /// Sets the attached [`ScrollContentPresenter::horizontal_snap_points_alignment_property`](ferroui_controls::presenters::ScrollContentPresenter::horizontal_snap_points_alignment_property).
8171    fn scroll_content_presenter_horizontal_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
8172        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::horizontal_snap_points_alignment_property(), value)
8173    }
8174
8175    /// Sets the attached [`ScrollContentPresenter::vertical_snap_points_alignment_property`](ferroui_controls::presenters::ScrollContentPresenter::vertical_snap_points_alignment_property).
8176    fn scroll_content_presenter_vertical_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
8177        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::vertical_snap_points_alignment_property(), value)
8178    }
8179
8180    /// Sets the attached [`ScrollContentPresenter::is_scroll_chaining_enabled_property`](ferroui_controls::presenters::ScrollContentPresenter::is_scroll_chaining_enabled_property).
8181    fn scroll_content_presenter_is_scroll_chaining_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8182        self.prop(<ferroui_controls::presenters::ScrollContentPresenter>::is_scroll_chaining_enabled_property(), value)
8183    }
8184
8185    /// Sets the attached [`ScrollViewer::bring_into_view_on_focus_change_property`](ferroui_controls::ScrollViewer::bring_into_view_on_focus_change_property).
8186    fn scroll_viewer_bring_into_view_on_focus_change<M>(self, value: impl IntoProp<bool, M>) -> Self {
8187        self.prop(<ferroui_controls::ScrollViewer>::bring_into_view_on_focus_change_property(), value)
8188    }
8189
8190    /// Sets the attached [`ScrollViewer::horizontal_scroll_bar_visibility_property`](ferroui_controls::ScrollViewer::horizontal_scroll_bar_visibility_property).
8191    fn scroll_viewer_horizontal_scroll_bar_visibility<M>(self, value: impl IntoProp<ferroui_controls::primitives::ScrollBarVisibility, M>) -> Self {
8192        self.prop(<ferroui_controls::ScrollViewer>::horizontal_scroll_bar_visibility_property(), value)
8193    }
8194
8195    /// Sets the attached [`ScrollViewer::horizontal_snap_points_type_property`](ferroui_controls::ScrollViewer::horizontal_snap_points_type_property).
8196    fn scroll_viewer_horizontal_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
8197        self.prop(<ferroui_controls::ScrollViewer>::horizontal_snap_points_type_property(), value)
8198    }
8199
8200    /// Sets the attached [`ScrollViewer::vertical_snap_points_type_property`](ferroui_controls::ScrollViewer::vertical_snap_points_type_property).
8201    fn scroll_viewer_vertical_snap_points_type<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsType, M>) -> Self {
8202        self.prop(<ferroui_controls::ScrollViewer>::vertical_snap_points_type_property(), value)
8203    }
8204
8205    /// Sets the attached [`ScrollViewer::horizontal_snap_points_alignment_property`](ferroui_controls::ScrollViewer::horizontal_snap_points_alignment_property).
8206    fn scroll_viewer_horizontal_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
8207        self.prop(<ferroui_controls::ScrollViewer>::horizontal_snap_points_alignment_property(), value)
8208    }
8209
8210    /// Sets the attached [`ScrollViewer::vertical_snap_points_alignment_property`](ferroui_controls::ScrollViewer::vertical_snap_points_alignment_property).
8211    fn scroll_viewer_vertical_snap_points_alignment<M>(self, value: impl IntoProp<ferroui_controls::primitives::SnapPointsAlignment, M>) -> Self {
8212        self.prop(<ferroui_controls::ScrollViewer>::vertical_snap_points_alignment_property(), value)
8213    }
8214
8215    /// Sets the attached [`ScrollViewer::vertical_scroll_bar_visibility_property`](ferroui_controls::ScrollViewer::vertical_scroll_bar_visibility_property).
8216    fn scroll_viewer_vertical_scroll_bar_visibility<M>(self, value: impl IntoProp<ferroui_controls::primitives::ScrollBarVisibility, M>) -> Self {
8217        self.prop(<ferroui_controls::ScrollViewer>::vertical_scroll_bar_visibility_property(), value)
8218    }
8219
8220    /// Sets the attached [`ScrollViewer::allow_auto_hide_property`](ferroui_controls::ScrollViewer::allow_auto_hide_property).
8221    fn scroll_viewer_allow_auto_hide<M>(self, value: impl IntoProp<bool, M>) -> Self {
8222        self.prop(<ferroui_controls::ScrollViewer>::allow_auto_hide_property(), value)
8223    }
8224
8225    /// Sets the attached [`ScrollViewer::is_scroll_chaining_enabled_property`](ferroui_controls::ScrollViewer::is_scroll_chaining_enabled_property).
8226    fn scroll_viewer_is_scroll_chaining_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8227        self.prop(<ferroui_controls::ScrollViewer>::is_scroll_chaining_enabled_property(), value)
8228    }
8229
8230    /// Sets the attached [`ScrollViewer::is_scroll_inertia_enabled_property`](ferroui_controls::ScrollViewer::is_scroll_inertia_enabled_property).
8231    fn scroll_viewer_is_scroll_inertia_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8232        self.prop(<ferroui_controls::ScrollViewer>::is_scroll_inertia_enabled_property(), value)
8233    }
8234
8235    /// Sets the attached [`ScrollViewer::is_deferred_scrolling_enabled_property`](ferroui_controls::ScrollViewer::is_deferred_scrolling_enabled_property).
8236    fn scroll_viewer_is_deferred_scrolling_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8237        self.prop(<ferroui_controls::ScrollViewer>::is_deferred_scrolling_enabled_property(), value)
8238    }
8239
8240    /// Sets the attached [`SelectingItemsControl::is_selected_property`](ferroui_controls::primitives::SelectingItemsControl::is_selected_property).
8241    fn selecting_items_control_is_selected<M>(self, value: impl IntoProp<bool, M>) -> Self {
8242        self.prop(<ferroui_controls::primitives::SelectingItemsControl>::is_selected_property(), value)
8243    }
8244
8245    /// Sets the attached [`TabbedPage::is_tab_enabled_property`](ferroui_controls::TabbedPage::is_tab_enabled_property).
8246    fn tabbed_page_is_tab_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8247        self.prop(<ferroui_controls::TabbedPage>::is_tab_enabled_property(), value)
8248    }
8249
8250    /// Sets the attached [`TemplatedControl::is_template_focus_target_property`](ferroui_controls::primitives::TemplatedControl::is_template_focus_target_property).
8251    fn templated_control_is_template_focus_target<M>(self, value: impl IntoProp<bool, M>) -> Self {
8252        self.prop(<ferroui_controls::primitives::TemplatedControl>::is_template_focus_target_property(), value)
8253    }
8254
8255    /// Sets the attached [`TextBlock::baseline_offset_property`](ferroui_controls::TextBlock::baseline_offset_property).
8256    fn text_block_baseline_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
8257        self.prop(<ferroui_controls::TextBlock>::baseline_offset_property(), value)
8258    }
8259
8260    /// Sets the attached [`TextBlock::layout_rounding_placement_property`](ferroui_controls::TextBlock::layout_rounding_placement_property).
8261    fn text_block_layout_rounding_placement<M>(self, value: impl IntoProp<ferroui_controls::TextLayoutRoundingPlacement, M>) -> Self {
8262        self.prop(<ferroui_controls::TextBlock>::layout_rounding_placement_property(), value)
8263    }
8264
8265    /// Sets the attached [`TextBlock::line_height_property`](ferroui_controls::TextBlock::line_height_property).
8266    fn text_block_line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
8267        self.prop(<ferroui_controls::TextBlock>::line_height_property(), value)
8268    }
8269
8270    /// Sets the attached [`TextBlock::line_spacing_property`](ferroui_controls::TextBlock::line_spacing_property).
8271    fn text_block_line_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
8272        self.prop(<ferroui_controls::TextBlock>::line_spacing_property(), value)
8273    }
8274
8275    /// Sets the attached [`TextBlock::max_lines_property`](ferroui_controls::TextBlock::max_lines_property).
8276    fn text_block_max_lines<M>(self, value: impl IntoProp<i32, M>) -> Self {
8277        self.prop(<ferroui_controls::TextBlock>::max_lines_property(), value)
8278    }
8279
8280    /// Sets the attached [`TextBlock::text_alignment_property`](ferroui_controls::TextBlock::text_alignment_property).
8281    fn text_block_text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
8282        self.prop(<ferroui_controls::TextBlock>::text_alignment_property(), value)
8283    }
8284
8285    /// Sets the attached [`TextBlock::text_wrapping_property`](ferroui_controls::TextBlock::text_wrapping_property).
8286    fn text_block_text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
8287        self.prop(<ferroui_controls::TextBlock>::text_wrapping_property(), value)
8288    }
8289
8290    /// Sets the attached [`TextBlock::text_trimming_property`](ferroui_controls::TextBlock::text_trimming_property).
8291    fn text_block_text_trimming<M>(self, value: impl IntoProp<std::rc::Rc<dyn ferroui_base::media::TextTrimming>, M>) -> Self {
8292        self.prop(<ferroui_controls::TextBlock>::text_trimming_property(), value)
8293    }
8294
8295    /// Sets the attached [`TextBox::text_alignment_property`](ferroui_controls::TextBox::text_alignment_property).
8296    fn text_box_text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
8297        self.prop(<ferroui_controls::TextBox>::text_alignment_property(), value)
8298    }
8299
8300    /// Sets the attached [`TextBox::text_wrapping_property`](ferroui_controls::TextBox::text_wrapping_property).
8301    fn text_box_text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
8302        self.prop(<ferroui_controls::TextBox>::text_wrapping_property(), value)
8303    }
8304
8305    /// Sets the attached [`TextBox::line_height_property`](ferroui_controls::TextBox::line_height_property).
8306    fn text_box_line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
8307        self.prop(<ferroui_controls::TextBox>::line_height_property(), value)
8308    }
8309
8310    /// Sets the attached [`TextElement::font_family_property`](ferroui_controls::documents::TextElement::font_family_property).
8311    fn text_element_font_family<M>(self, value: impl IntoProp<ferroui_base::media::FontFamily, M>) -> Self {
8312        self.prop(<ferroui_controls::documents::TextElement>::font_family_property(), value)
8313    }
8314
8315    /// Sets the attached [`TextElement::font_features_property`](ferroui_controls::documents::TextElement::font_features_property).
8316    fn text_element_font_features<M>(self, value: impl IntoProp<Option<ferroui_base::media::FontFeatureCollection>, M>) -> Self {
8317        self.prop(<ferroui_controls::documents::TextElement>::font_features_property(), value)
8318    }
8319
8320    /// Sets the attached [`TextElement::font_size_property`](ferroui_controls::documents::TextElement::font_size_property).
8321    fn text_element_font_size<M>(self, value: impl IntoProp<f64, M>) -> Self {
8322        self.prop(<ferroui_controls::documents::TextElement>::font_size_property(), value)
8323    }
8324
8325    /// Sets the attached [`TextElement::font_style_property`](ferroui_controls::documents::TextElement::font_style_property).
8326    fn text_element_font_style<M>(self, value: impl IntoProp<ferroui_base::media::FontStyle, M>) -> Self {
8327        self.prop(<ferroui_controls::documents::TextElement>::font_style_property(), value)
8328    }
8329
8330    /// Sets the attached [`TextElement::font_weight_property`](ferroui_controls::documents::TextElement::font_weight_property).
8331    fn text_element_font_weight<M>(self, value: impl IntoProp<ferroui_base::media::FontWeight, M>) -> Self {
8332        self.prop(<ferroui_controls::documents::TextElement>::font_weight_property(), value)
8333    }
8334
8335    /// Sets the attached [`TextElement::font_stretch_property`](ferroui_controls::documents::TextElement::font_stretch_property).
8336    fn text_element_font_stretch<M>(self, value: impl IntoProp<ferroui_base::media::FontStretch, M>) -> Self {
8337        self.prop(<ferroui_controls::documents::TextElement>::font_stretch_property(), value)
8338    }
8339
8340    /// Sets the attached [`TextElement::foreground_property`](ferroui_controls::documents::TextElement::foreground_property).
8341    fn text_element_foreground<M>(self, value: impl IntoProp<Option<std::rc::Rc<dyn ferroui_base::media::IBrush>>, M>) -> Self {
8342        self.prop(<ferroui_controls::documents::TextElement>::foreground_property(), value)
8343    }
8344
8345    /// Sets the attached [`TextElement::letter_spacing_property`](ferroui_controls::documents::TextElement::letter_spacing_property).
8346    fn text_element_letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
8347        self.prop(<ferroui_controls::documents::TextElement>::letter_spacing_property(), value)
8348    }
8349
8350    /// Sets the attached [`TextInputOptions::content_type_property`](ferroui_base::input::text_input::TextInputOptions::content_type_property).
8351    fn text_input_options_content_type<M>(self, value: impl IntoProp<ferroui_base::input::text_input::TextInputContentType, M>) -> Self {
8352        self.prop(<ferroui_base::input::text_input::TextInputOptions>::content_type_property(), value)
8353    }
8354
8355    /// Sets the attached [`TextInputOptions::return_key_type_property`](ferroui_base::input::text_input::TextInputOptions::return_key_type_property).
8356    fn text_input_options_return_key_type<M>(self, value: impl IntoProp<ferroui_base::input::text_input::TextInputReturnKeyType, M>) -> Self {
8357        self.prop(<ferroui_base::input::text_input::TextInputOptions>::return_key_type_property(), value)
8358    }
8359
8360    /// Sets the attached [`TextInputOptions::multiline_property`](ferroui_base::input::text_input::TextInputOptions::multiline_property).
8361    fn text_input_options_multiline<M>(self, value: impl IntoProp<bool, M>) -> Self {
8362        self.prop(<ferroui_base::input::text_input::TextInputOptions>::multiline_property(), value)
8363    }
8364
8365    /// Sets the attached [`TextInputOptions::lowercase_property`](ferroui_base::input::text_input::TextInputOptions::lowercase_property).
8366    fn text_input_options_lowercase<M>(self, value: impl IntoProp<bool, M>) -> Self {
8367        self.prop(<ferroui_base::input::text_input::TextInputOptions>::lowercase_property(), value)
8368    }
8369
8370    /// Sets the attached [`TextInputOptions::uppercase_property`](ferroui_base::input::text_input::TextInputOptions::uppercase_property).
8371    fn text_input_options_uppercase<M>(self, value: impl IntoProp<bool, M>) -> Self {
8372        self.prop(<ferroui_base::input::text_input::TextInputOptions>::uppercase_property(), value)
8373    }
8374
8375    /// Sets the attached [`TextInputOptions::auto_capitalization_property`](ferroui_base::input::text_input::TextInputOptions::auto_capitalization_property).
8376    fn text_input_options_auto_capitalization<M>(self, value: impl IntoProp<bool, M>) -> Self {
8377        self.prop(<ferroui_base::input::text_input::TextInputOptions>::auto_capitalization_property(), value)
8378    }
8379
8380    /// Sets the attached [`TextInputOptions::is_sensitive_property`](ferroui_base::input::text_input::TextInputOptions::is_sensitive_property).
8381    fn text_input_options_is_sensitive<M>(self, value: impl IntoProp<bool, M>) -> Self {
8382        self.prop(<ferroui_base::input::text_input::TextInputOptions>::is_sensitive_property(), value)
8383    }
8384
8385    /// Sets the attached [`TextInputOptions::show_suggestions_property`](ferroui_base::input::text_input::TextInputOptions::show_suggestions_property).
8386    fn text_input_options_show_suggestions<M>(self, value: impl IntoProp<Option<bool>, M>) -> Self {
8387        self.prop(<ferroui_base::input::text_input::TextInputOptions>::show_suggestions_property(), value)
8388    }
8389
8390    /// Sets the attached [`TextInputOptions::locale_hints_property`](ferroui_base::input::text_input::TextInputOptions::locale_hints_property).
8391    fn text_input_options_locale_hints<M>(self, value: impl IntoProp<Option<std::rc::Rc<[String]>>, M>) -> Self {
8392        self.prop(<ferroui_base::input::text_input::TextInputOptions>::locale_hints_property(), value)
8393    }
8394
8395    /// Sets the attached [`TextPresenter::text_alignment_property`](ferroui_controls::presenters::TextPresenter::text_alignment_property).
8396    fn text_presenter_text_alignment<M>(self, value: impl IntoProp<ferroui_base::media::TextAlignment, M>) -> Self {
8397        self.prop(<ferroui_controls::presenters::TextPresenter>::text_alignment_property(), value)
8398    }
8399
8400    /// Sets the attached [`TextPresenter::text_wrapping_property`](ferroui_controls::presenters::TextPresenter::text_wrapping_property).
8401    fn text_presenter_text_wrapping<M>(self, value: impl IntoProp<ferroui_base::media::TextWrapping, M>) -> Self {
8402        self.prop(<ferroui_controls::presenters::TextPresenter>::text_wrapping_property(), value)
8403    }
8404
8405    /// Sets the attached [`TextPresenter::line_height_property`](ferroui_controls::presenters::TextPresenter::line_height_property).
8406    fn text_presenter_line_height<M>(self, value: impl IntoProp<f64, M>) -> Self {
8407        self.prop(<ferroui_controls::presenters::TextPresenter>::line_height_property(), value)
8408    }
8409
8410    /// Sets the attached [`TextPresenter::letter_spacing_property`](ferroui_controls::presenters::TextPresenter::letter_spacing_property).
8411    fn text_presenter_letter_spacing<M>(self, value: impl IntoProp<f64, M>) -> Self {
8412        self.prop(<ferroui_controls::presenters::TextPresenter>::letter_spacing_property(), value)
8413    }
8414
8415    /// Sets the attached [`TextSearch::text_property`](ferroui_controls::primitives::TextSearch::text_property).
8416    fn text_search_text<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
8417        self.prop(<ferroui_controls::primitives::TextSearch>::text_property(), value)
8418    }
8419
8420    /// Sets the attached [`ToolTip::tip_property`](ferroui_controls::ToolTip::tip_property).
8421    fn tool_tip_tip<M>(self, value: impl IntoProp<Option<ferroui_base::BoxedValue>, M>) -> Self {
8422        self.prop(<ferroui_controls::ToolTip>::tip_property(), value)
8423    }
8424
8425    /// Sets the attached [`ToolTip::is_open_property`](ferroui_controls::ToolTip::is_open_property).
8426    fn tool_tip_is_open<M>(self, value: impl IntoProp<bool, M>) -> Self {
8427        self.prop(<ferroui_controls::ToolTip>::is_open_property(), value)
8428    }
8429
8430    /// Sets the attached [`ToolTip::placement_property`](ferroui_controls::ToolTip::placement_property).
8431    fn tool_tip_placement<M>(self, value: impl IntoProp<ferroui_controls::PlacementMode, M>) -> Self {
8432        self.prop(<ferroui_controls::ToolTip>::placement_property(), value)
8433    }
8434
8435    /// Sets the attached [`ToolTip::horizontal_offset_property`](ferroui_controls::ToolTip::horizontal_offset_property).
8436    fn tool_tip_horizontal_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
8437        self.prop(<ferroui_controls::ToolTip>::horizontal_offset_property(), value)
8438    }
8439
8440    /// Sets the attached [`ToolTip::vertical_offset_property`](ferroui_controls::ToolTip::vertical_offset_property).
8441    fn tool_tip_vertical_offset<M>(self, value: impl IntoProp<f64, M>) -> Self {
8442        self.prop(<ferroui_controls::ToolTip>::vertical_offset_property(), value)
8443    }
8444
8445    /// Sets the attached [`ToolTip::custom_popup_placement_callback_property`](ferroui_controls::ToolTip::custom_popup_placement_callback_property).
8446    fn tool_tip_custom_popup_placement_callback<M>(self, value: impl IntoProp<Option<ferroui_controls::primitives::CustomPopupPlacementCallbackValue>, M>) -> Self {
8447        self.prop(<ferroui_controls::ToolTip>::custom_popup_placement_callback_property(), value)
8448    }
8449
8450    /// Sets the attached [`ToolTip::show_delay_property`](ferroui_controls::ToolTip::show_delay_property).
8451    fn tool_tip_show_delay<M>(self, value: impl IntoProp<i32, M>) -> Self {
8452        self.prop(<ferroui_controls::ToolTip>::show_delay_property(), value)
8453    }
8454
8455    /// Sets the attached [`ToolTip::between_show_delay_property`](ferroui_controls::ToolTip::between_show_delay_property).
8456    fn tool_tip_between_show_delay<M>(self, value: impl IntoProp<i32, M>) -> Self {
8457        self.prop(<ferroui_controls::ToolTip>::between_show_delay_property(), value)
8458    }
8459
8460    /// Sets the attached [`ToolTip::show_on_disabled_property`](ferroui_controls::ToolTip::show_on_disabled_property).
8461    fn tool_tip_show_on_disabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8462        self.prop(<ferroui_controls::ToolTip>::show_on_disabled_property(), value)
8463    }
8464
8465    /// Sets the attached [`ToolTip::service_enabled_property`](ferroui_controls::ToolTip::service_enabled_property).
8466    fn tool_tip_service_enabled<M>(self, value: impl IntoProp<bool, M>) -> Self {
8467        self.prop(<ferroui_controls::ToolTip>::service_enabled_property(), value)
8468    }
8469
8470    /// Sets the attached [`ToolTip::should_use_overlay_layer_property`](ferroui_controls::ToolTip::should_use_overlay_layer_property).
8471    fn tool_tip_should_use_overlay_layer<M>(self, value: impl IntoProp<bool, M>) -> Self {
8472        self.prop(<ferroui_controls::ToolTip>::should_use_overlay_layer_property(), value)
8473    }
8474
8475    /// Sets the attached [`ToolTip::tool_tip_property`](ferroui_controls::ToolTip::tool_tip_property).
8476    fn tool_tip_tool_tip<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_controls::ToolTip>>, M>) -> Self {
8477        self.prop(<ferroui_controls::ToolTip>::tool_tip_property(), value)
8478    }
8479
8480    /// Sets the attached [`TopLevel::system_bar_color_property`](ferroui_controls::TopLevel::system_bar_color_property).
8481    fn top_level_system_bar_color<M>(self, value: impl IntoProp<Option<ferroui_base::Ref<ferroui_base::media::SolidColorBrush>>, M>) -> Self {
8482        self.prop(<ferroui_controls::TopLevel>::system_bar_color_property(), value)
8483    }
8484
8485    /// Sets the attached [`TopLevel::auto_safe_area_padding_property`](ferroui_controls::TopLevel::auto_safe_area_padding_property).
8486    fn top_level_auto_safe_area_padding<M>(self, value: impl IntoProp<bool, M>) -> Self {
8487        self.prop(<ferroui_controls::TopLevel>::auto_safe_area_padding_property(), value)
8488    }
8489
8490    /// Sets the attached [`TrayIcon::icons_property`](ferroui_controls::TrayIcon::icons_property).
8491    fn tray_icon_icons<M>(self, value: impl IntoProp<Option<std::rc::Rc<ferroui_controls::TrayIcons>>, M>) -> Self {
8492        self.prop(<ferroui_controls::TrayIcon>::icons_property(), value)
8493    }
8494
8495    /// Sets the attached [`Visual::flow_direction_property`](ferroui_base::Visual::flow_direction_property).
8496    fn visual_flow_direction<M>(self, value: impl IntoProp<ferroui_base::media::FlowDirection, M>) -> Self {
8497        self.prop(<ferroui_base::Visual>::flow_direction_property(), value)
8498    }
8499
8500    /// Sets the attached [`Win32Properties::non_client_hit_test_result_property`](ferroui_controls::Win32Properties::non_client_hit_test_result_property).
8501    fn win32_properties_non_client_hit_test_result<M>(self, value: impl IntoProp<ferroui_controls::platform::Win32HitTestValue, M>) -> Self {
8502        self.prop(<ferroui_controls::Win32Properties>::non_client_hit_test_result_property(), value)
8503    }
8504
8505    /// Sets the attached [`Win32Properties::window_corner_preference_property`](ferroui_controls::Win32Properties::window_corner_preference_property).
8506    fn win32_properties_window_corner_preference<M>(self, value: impl IntoProp<ferroui_controls::platform::WindowCornerPreference, M>) -> Self {
8507        self.prop(<ferroui_controls::Win32Properties>::window_corner_preference_property(), value)
8508    }
8509
8510    /// Sets the attached [`WindowDecorationProperties::element_role_property`](ferroui_controls::chrome::WindowDecorationProperties::element_role_property).
8511    fn window_decoration_properties_element_role<M>(self, value: impl IntoProp<ferroui_base::input::WindowDecorationsElementRole, M>) -> Self {
8512        self.prop(<ferroui_controls::chrome::WindowDecorationProperties>::element_role_property(), value)
8513    }
8514
8515    /// Sets the attached [`WindowDrawnDecorations::title_bar_decorations_property`](ferroui_controls::chrome::WindowDrawnDecorations::title_bar_decorations_property).
8516    fn window_drawn_decorations_title_bar_decorations<M>(self, value: impl IntoProp<ferroui_controls::chrome::TitleBarDecorations, M>) -> Self {
8517        self.prop(<ferroui_controls::chrome::WindowDrawnDecorations>::title_bar_decorations_property(), value)
8518    }
8519
8520    /// Sets the attached [`X11Properties::net_wm_window_type_property`](ferroui_controls::X11Properties::net_wm_window_type_property).
8521    fn x11_properties_net_wm_window_type<M>(self, value: impl IntoProp<ferroui_controls::platform::X11NetWmWindowType, M>) -> Self {
8522        self.prop(<ferroui_controls::X11Properties>::net_wm_window_type_property(), value)
8523    }
8524
8525    /// Sets the attached [`X11Properties::wm_class_property`](ferroui_controls::X11Properties::wm_class_property).
8526    fn x11_properties_wm_class<M>(self, value: impl IntoProp<Option<String>, M>) -> Self {
8527        self.prop(<ferroui_controls::X11Properties>::wm_class_property(), value)
8528    }
8529
8530    /// Sets the attached [`XYFocus::navigation_modes_property`](ferroui_base::input::XYFocus::navigation_modes_property).
8531    fn xy_focus_navigation_modes<M>(self, value: impl IntoProp<ferroui_base::input::XYFocusNavigationModes, M>) -> Self {
8532        self.prop(<ferroui_base::input::XYFocus>::navigation_modes_property(), value)
8533    }
8534}
8535impl<T: ObjectType> AttachedProps for El<T> {}