首页 > 解决方案 > 在 C# 中选中切换按钮时如何隐藏网格列

问题描述

在我的表单的右侧,我有一个网格,其中有两个列,右列的宽度为“45”,左侧的名为“LeftColumn”的宽度设置为“自动”。我想使用名为“Togglebtn”的切换按钮的选中和未选中事件来显示和隐藏“LeftColumn”

标签: c#xamlgrid

解决方案


为您的 ColumnDefinition 添加名称

<ColumnDefinition x:Name="ExchangeColumn" Width="0" />

<Button Clicked="OnExpandExchange" BackgroundColor="Transparent"/>

并使用以下方法

        private void OnExpandExchange(object sender, EventArgs e)
    {
        if (ExchangeColumn.Width.Value == 0)
        {
            GetExpandAnimation().Commit(this, ExpandAnimationName, 16,
                100,
                Easing.CubicIn,
                null, () => false);
        }
        else
        {
            GetCollapseAnimation().Commit(this, CollapssAnimationName, 16,
                100,
                Easing.CubicInOut,
                null, () => false);
        }
    }

    private Animation GetExpandAnimation()
    {
        return new Animation
        {
            {0, 1, new Animation(v => ExchangeColumn.Width= v, 0, 45)}
        };
    }

    private Animation GetCollapseAnimation()
    {
        return new Animation
        {
            {0, 1, new Animation(v => ExchangeColumn.Width = v, 45, 0)}
        };
    }

推荐阅读