在毛伊岛制作复合控件时如何使用触发器或其他

问题描述 投票:0回答:1

我想制作一个复合控件,它有一个网格、一些标签框和一个条目 这样我就可以在应用程序中的几乎所有输入数据点中重用它,我有一些处理验证的触发器triggerText仅允许输入文本triggerNumbers仅允许输入数字等 我不知道如何告诉我的复合控件使用一个触发器或另一个 像这样的东西

我有什么可以尝试的想法吗?听起来这很常见,但我找不到这方面的信息

尝试制作一种样式来处理触发器以某种方式选择一种或另一种样式,但没有取得任何进展

.net-core mobile maui maui-community-toolkit
1个回答
0
投票

您可以创建一个允许字符串或枚举的 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

© www.soinside.com 2019 - 2024. All rights reserved.