gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:30 25 4
gpt4 key购买 nike

我使用 Xamarin.Forms,我为 Android 创建自定义渲染器 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”

关于c# - 更改禁用按钮上的文本颜色(自定义 ButtonRenderer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com