我想制作一个复合控件,它有一个网格、一些标签框和一个条目
这样我就可以在应用程序中的几乎所有输入数据点中重用它,我有一些处理验证的触发器triggerText仅允许输入文本triggerNumbers仅允许输入数字等
我不知道如何告诉我的复合控件使用一个触发器或另一个
像这样的东西
我有什么可以尝试的想法吗?听起来这很常见,但我找不到这方面的信息
尝试制作一种样式来处理触发器以某种方式选择一种或另一种样式,但没有取得任何进展
您可以创建一个允许字符串或枚举的 BindableProperty。您可以填充其中。例如,如果您想要一个字符串触发器,则属性可以是“字符串”或“数字”(对于数字)或“密码”(对于密码文本或其后续枚举)。
在自定义控件中,您可以使用 MultiBinding 或 DataTrigger 触发绑定
例如对于按钮,
<Button Text="Save">
<Button.Triggers>
<MultiTrigger TargetType="Button">
<MultiTrigger.Conditions>
<BindingCondition Binding="{Binding CustomPropertyType}"
Value="string" />
<BindingCondition Binding="{Binding CustomPropertyType}"
Value="number" />
</MultiTrigger.Conditions>
<Setter Property="IsEnabled" Value="False" />
<!-- multiple Setter elements are allowed -->
</MultiTrigger>
</Button.Triggers>
</Button>
<Button Text="Save">
<Button.Triggers>
<DataTrigger TargetType="Button"
Binding="{Binding CustomPropertyType}"
Value="string">
<Setter Property="IsEnabled"
Value="False" />
<!-- Multiple Setter elements are allowed -->
</DataTrigger>
</Button.Triggers>
</Button>
https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/triggers?view=net-maui-8.0#data-triggers https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/triggers?view=net-maui-8.0#multi-triggers