繁体   English   中英

更改禁用按钮上的文本颜色(自定义ButtonRenderer)

[英]change text color on disabled button (custom ButtonRenderer)

我使用Xamarin.Forms ,我为Android创建自定义Renderer FlatButtonRenderer 我想添加一个参数 - 禁用按钮上的白色文本颜色。 有什么简单的方法呢? 在启用按钮上,我可以在PCL项目中更改Button.TextColor 如果用c#代码更改禁用的文本颜色?

using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;

[assembly: ExportRenderer(typeof(Button), typeof(ugrid.Droid.FlatButtonRenderer))]

namespace myProject.Droid
{
    public class FlatButtonRenderer : ButtonRenderer
    {
        protected override void OnDraw(Android.Graphics.Canvas canvas)
        {
            base.OnDraw(canvas);
        }

        protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
        {
            base.OnElementChanged(e);
        }
    }
}

这听起来你会更好地使用带触发器的样式而不是自定义渲染器。 禁用时将背景更改为红色的示例如下所示:

    <Button Command="{Binding Command}" Text="Blah Button">
        <Button.Style>
            <Style TargetType="Button">
                <Style.Triggers>
                    <Trigger TargetType="Button"  Property="IsEnabled" Value="False">
                        <Setter Property="BackgroundColor" Value="Red"></Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>

如果需要,这也可以在后面的代码中完成。 如果在其他地方使用该样式,您可能希望将其添加到资源并引用它。

如果要仅为一个平台更改样式,请使用“OnPlatform”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM