如何扩展自定义解决方案Xamarin的按钮

用户3441937

嗨,我如何在查看按钮中扩展自定义解决方案?

我不会扩展这个:

....

 <Button BackgroundColor="#388fee" BorderColor="#388fee" BorderRadius="25" WidthRequest="50" HeightRequest="50"
                Command="{Binding CheckinShareCommand}" Margin="0,16">
            <Button.Image>
                <FileImageSource File="googlemap_view_share_button.png" />
            </Button.Image>
        </Button>

....

这是我的自定义解决方案。

当您按下图像时,它会放大

公共类CustomImage:Image {公共静态只读BindableProperty CommandProperty = BindableProperty.Create(p => p.Command,null); 公共ICommand Command {get {return(ICommand)GetValue(CommandProperty); }设置{SetValue(CommandProperty,value); }}

    public static readonly BindableProperty CommandParameterProperty = BindableProperty.Create<CustomImage, object>(p => p.CommandParameter, null);
    public object CommandParameter
    {
        get { return (object)GetValue(CommandParameterProperty); }
        set { SetValue(CommandParameterProperty, value); }
    }

    private ICommand TransitionCommand
    {
        get
        {
            return new Command(async () =>
            {
                this.AnchorX = 0.48;
                this.AnchorY = 0.48;
                await this.ScaleTo(2.8, 50, Easing.Linear);
                await Task.Delay(100);
                await this.ScaleTo(1, 50, Easing.Linear);
                if (Command != null)
                {
                    Command.Execute(CommandParameter);
                }
            });
        }
    }

    public CustomImage()
    {
        Initialize();
    }


    public void Initialize()
    {
        GestureRecognizers.Add(new TapGestureRecognizer()
        {
            Command = TransitionCommand
        });

....

齐亚德·戈迪尔(Ziyad Godil)

如果您想在按下图像时放大图像,请尝试以下代码:

public class CustomButton : Button
{
    public CustomButton() : base()
    {
        const int _animationTime = 10;
        Clicked += async (sender, e) =>
        {
            try
            {
                var btn = (CustomButton)sender;
                await btn.ScaleTo(1.2, _animationTime);
                await btn.ScaleTo(1, _animationTime);
            }
            catch (Exception ex)
            {
                ex.Track();
            }
        };

    }
}

Xaml

<userControls:CustomButton BackgroundColor="#388fee" BorderColor="#388fee" BorderRadius="25" WidthRequest="50" HeightRequest="50"
                Command="{Binding CheckinShareCommand}" Margin="0,16">
            <Button.Image>
                <FileImageSource File="googlemap_view_share_button.png" />
            </Button.Image>
        </userControls:CustomButton>

不要忘记将这一行放在标题中

xmlns:userControls="clr-namespace:YourNameSpace.UserControls"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建自定义动态DNS解决方案?

自定义解决方案的Visual Studio配色方案

巴基斯坦的Chrome扩展程序自定义付款解决方案?

用于整个解决方案的自定义C#重构的Visual Studio 2017扩展

Git合并冲突自定义自动解决方案

自定义 Visual Studio 解决方案

实施自定义Int + Range List解决方案

使用自定义深度测试的深度解决方案

MVC 6自定义Taghelper验证-解决方案

如何为自定义日志记录解决方案正确创建性能测试?

如何为托管解决方案添加自定义站点地图区域/组/子区域?

现有的电子商务框架与自定义电子商务解决方案的可扩展性

如何使用Visual Studio 2019在解决方案中为多个项目指定自定义代码分析规则集?

如何以类似于 VS 解决方案(VS 自动构建依赖项)的方式管理自定义库?

如何自定义Visual Studio解决方案资源管理器的右键菜单选项?

解决方案预设的项目文件上的自定义属性

自定义解决方案不存在于整个重新引导中

将自定义项模板添加到 Visual Studio 解决方案

同一解决方案的其他项目中的自定义追加程序

无法导入Dynamics CRM 2013自定义代码验证工具解决方案

HTML选择元素-自定义默认值?(跨浏览器解决方案)

将此自定义回合转换为更数学友好的解决方案

自定义实体未显示在默认解决方案屏幕中 - Dynamics CRM 2013

Laravel:使用Guzzle使用自定义Passport登录的解决方案

CRM 托管解决方案 - 卸载会删除每个自定义字段吗?

针对C#解决方案的MSBuild(类似版本)上的自定义

Xaml实时编辑不适用于自定义解决方案配置

可以在自定义解决方案文件上调用MSBuild吗?

在解决方案上使用msbuild在某些项目上调用自定义目标