如何在Xamarin Forms中的Flex Button控件模板中处理'Clicked'事件?

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

我正在尝试为Flex按钮-NuGet Available here-创建自定义控件模板,以使按钮具有特定的格式。问题是,当我为按钮创建任何模板时,所有事件都不会响应处理程序,例如,除非我使用与整个模板设计相混淆的contentpresenter,否则click事件永远不会触发。

因此,有什么方法可以在不使用内容呈现器的情况下重新附加click-并且最好是所有其他click事件?

到目前为止,这是我的模板代码:

<Style TargetType="flex:FlexButton" x:Key="IconTextButton">
        <Setter Property="ControlTemplate">
            <Setter.Value>
                <ControlTemplate>
                    <Grid BackgroundColor="{TemplateBinding Path=BackgroundColor}">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="30"/>
                            <ColumnDefinition Width="auto"/>
                            <ColumnDefinition Width="1"/>
                            <ColumnDefinition Width="auto"/>
                        </Grid.ColumnDefinitions>

                        <Label Grid.Column="0" FontSize="Title" HorizontalOptions="Center" TextColor="{TemplateBinding Path=ForegroundColor}" Text="{TemplateBinding Path=Icon}">
                            <Label.FontFamily>
                                <OnPlatform x:TypeArguments="x:String">
                                    <On Platform="Android">FontAwesome5Solid.otf#Font Awsome 5 Free Solid</On>
                                    <On Platform="iOS">Font Awsome 5 Free</On>
                                </OnPlatform>
                            </Label.FontFamily>
                        </Label>

                        <Label Grid.Column="1" FontSize="Subtitle" FontAttributes="Bold" TextColor="{TemplateBinding Path=ForegroundColor}" Text="│"/>

                        <Label Grid.Column="3" FontSize="Subtitle" FontAttributes="Bold" TextColor="{TemplateBinding Path=ForegroundColor}" Text="{TemplateBinding Path=Text}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

这是一个实现示例:

<flex:FlexButton Icon="&#xf002;" Text="Explore" Style="{StaticResource IconTextButton}" Clicked="SampleButton_Clicked"/>

尽管一切看起来都很好,但是SampleButton_Clicked从未执行。

提前感谢。

我正在尝试为Flex按钮创建自定义控件模板-NuGet在此处可用-为按钮设置特定格式。问题是当我为按钮创建任何模板时,所有...

c# xaml xamarin.forms controltemplate
1个回答
0
投票

我无法完全重现您的风格,显示flex:FlexButton时可以看到探索文本吗?

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