我需要在禁用按钮时更改其文本颜色,我为iOS创建了一个自定义渲染器,为Android创建了一个自定义渲染器。iOS完美运行,因为android不会改变颜色,所以我也通过样式创建了触发器,也无法解决。
如何使Xamarin.Forms进行颜色交换?
Android渲染器:
[assembly: ExportRenderer(typeof(Button), typeof(MyButtonRenderer))]
namespace xxxxxx.Droid.Renderers
{
public class MyButtonRenderer : ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
if (Control != null)
Control.SetTextColor(Color.White.ToAndroid());
if (e != null)
{
e.NewElement.TextColor = Color.White;
e.OldElement.TextColor = Color.White;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的命令的CanExecute更改此状态更改,这将是应用的默认样式。
这些方法都不能解决