Xamarin.android MVVMCross Android按钮启用
我是Android MVVMCross框架的新手,在如何启用/禁用按钮方面遇到了问题。我在这一带找不到文件。 代码视图模型:Xamarin.android MVVMCross Android按钮启用,xamarin.android,mvvmcross,Xamarin.android,Mvvmcross,我是Android MVVMCross框架的新手,在如何启用/禁用按钮方面遇到了问题。我在这一带找不到文件。 代码视图模型: private bool _buttonEnabled; public bool ButtonEnabled { get { return string.IsNullOrEmpty(EmailLogin);} set { _buttonEnabled = val
private bool _buttonEnabled;
public bool ButtonEnabled
{
get
{ return string.IsNullOrEmpty(EmailLogin);}
set
{
_buttonEnabled = value;
RaisePropertyChanged(() => ButtonEnabled);
}
}
Android axml:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Login"
android:background="@color/yellow"
local:MvxBind="Enabled(ButtonEnabled)"/>
但无法让它工作。我试图实现的是,若EmailLogin变量为NullOrEmpty,那个么按钮应该被禁用。我哪里做错了
希望我没有推动这个,但我可以添加额外的绑定到它,这样,如果它被禁用或启用,我可以改变按钮的颜色 您只需将绑定语法更改为:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Login"
android:background="@color/yellow"
local:MvxBind="Enabled ButtonEnabled"/>
然后:
local:MvxBind=“Enabled ButtonEnabled;TextColor MyColor”
您只需将绑定语法更改为:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Login"
android:background="@color/yellow"
local:MvxBind="Enabled ButtonEnabled"/>
然后:
local:MvxBind=“Enabled ButtonEnabled;TextColor MyColor”
谢谢,它已经起作用了:D.我的EmailLogin的RaiseProperty更改设置为自身(EmailLogin)。感谢您提供有关颜色的更多信息。你会如何设置颜色?是用整数RGB实例化MyColor吗?太好了!是的,您可以使用RGB实例化一种颜色,或者可以找到一些预定义的颜色,如MvxColors.Red
。请确保您在核心和平台项目上安装了该软件包:)非常好,谢谢dude:)刚刚注意到您的xml绑定,它声明了TextColor MyColor,如果它的backgroundColor而不是TextColor,它会简单地作为local:MvxBind=“Enabled ButtonneEnabled;backgroundColor MyColor”很抱歉,这很烦人,但我是否需要在EmailLogin上调用RaisePropertyChanged中的MvxColor变量才能选择启用的按钮颜色更改?没问题!是的,您可以在setter中为您的颜色添加一个RaisePropertyChanged(不要删除ButtonEnabled的加薪,在它之后添加一个新的加薪)。谢谢,它已经起作用了:D。我的EmailLogin的RaisePropertyChange设置为自身(EmailLogin)。感谢您提供有关颜色的更多信息。你会如何设置颜色?是用整数RGB实例化MyColor吗?太好了!是的,您可以使用RGB实例化一种颜色,或者可以找到一些预定义的颜色,如MvxColors.Red
。请确保您在核心和平台项目上安装了该软件包:)非常好,谢谢dude:)刚刚注意到您的xml绑定,它声明了TextColor MyColor,如果它的backgroundColor而不是TextColor,它会简单地作为local:MvxBind=“Enabled ButtonneEnabled;backgroundColor MyColor”很抱歉,这很烦人,但我是否需要在EmailLogin上调用RaisePropertyChanged中的MvxColor变量才能选择启用的按钮颜色更改?没问题!是的,您可以在setter中为您的颜色添加一个RaisePropertyChanged(不要删除ButtonEnabled的提升,在它之后添加一个新的提升)