目前,我的观点是这样的:
public void DisableNextBtn(object sender, TextChangedEventArgs e)
{
if (String.IsNullOrEmpty(emailentry.Text))
{
NextButton.IsEnabled = false;
NextButton.TextColor = Color.FromRgba(0xFF, 0xFF, 0xFF, 0x80);
}
else
{
NextButton.IsEnabled = true;
NextButton.TextColor = Color.White;
}
}
但是,即使我想将按钮的 TextColor 设置为上面的颜色,它也不会改变默认的深色禁用状态文本颜色。如何更改按钮的 TextColor?
我已经有一个自定义按钮,所以我想也许有一种方法可以更改自定义渲染器内禁用状态按钮的文本颜色,但我不完全确定。
这适用于 Xamarin.Forms Android 应用程序。
btn.SetTextColor(Color.Rgb(0:255, 0:255, 0:255));
mBtnEmail.setTextColor(ContextCompat.getColor(getContext(), R.color.text_gray));
在xamarin窗体android中,我只是在我的
styles.xml
中为我的残疾人textcolor
做了这个。我确定按钮 textcolor
也是一样的。
<item name="android:textColor">@android:color/black</item>
您可以使用
NextButton.ForeColor = Color.FromRgba(0xFF, 0xFF, 0xFF, 0x80);
进行更改。
如果您想更改颜色,使其变得像背景颜色,这意味着您想隐藏文本,您可以这样做:
button1.Text = "";
button1.Enabled = true;
这可能不是每个人都可行的解决方案,但为了解决这个问题,我更改了 MouseDownBackColor 和 MouseOverBackColor 以匹配我用于 BackColor 的设置,这样我可以保持按钮启用并仅使用它来显示文本具有透明背景,因为所有文本框组件都不允许使用透明背景。