Dav*_*isk 3 android mvvmcross xamarin
我试图在Android中绑定TextView的文本颜色.这是我的(截断的)xaml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:MvxBind=" TextColor CategoryTextColor(Category)"/>
Run Code Online (Sandbox Code Playgroud)
其中CategoryTextColorValueConverter如下:
public class CategoryTextColorConverter : MvxValueConverter<ShowCategory, Color>
{
protected override Color Convert (ShowCategory value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == ShowCategory.AllShows)
{
return Color.Blue;
}
return Color.Red;
}
}
Run Code Online (Sandbox Code Playgroud)
调用转换器并按预期返回颜色,但文本颜色在TextView上永远不会更改.我有一个类似的背景颜色绑定工作正常.我在这里看到在MvvmCross中我如何做自定义绑定属性,也许我需要创建自定义绑定,但我找不到MvxBaseAndroidTargetBinding.也许我需要从nuget安装一个单独的包?
你唯一需要做的就是安装MvvMCross Color Plugin,因为TextColor它附带了它.它不包含在Core中.您发布的解决方案有效
请参阅:https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-plugins#color
提示:您不必编写特定于平台的ValueConvertes,如果使用MvxColorValueConverter<ShowCategory>,您可以跨不同平台共享它.
public class CategoryTextColorConverter : MvxColorValueConverter<ShowCategory>
{
protected override MvxColor Convert(ShowCategory value, object parameter, CultureInfo culture)
{
if (value == ShowCategory.AllShows)
{
return MvxColors.Blue;
}
return MvxColors.Red;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3684 次 |
| 最近记录: |