2017-05-28 64 views
0

我试图设置visibilityProgressBarGONE如何在android MvvmCross中设置ProgressBar的可见性Xamarin


在XML

<?xml version="1.0" encoding="utf-8"?> 
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    local:MvxBind="Visibility Visibility(ProgressVisibility)" 
    android:background="@drawable/sel_custom_progress" /> 

视图模型

private bool _progressVisibility; 
public bool ProgressVisibility 
{ 
    get { return _progressVisibility; } 
    set { _progressVisibility = value; RaisePropertyChanged(() => ProgressVisibility); } 
} 

我设置ProgressVisibility = false;


发生了什么:视图仍清晰可见,并没有得到隐藏。如何解决这个问题。

+0

哪个mvvmcross的版本您使用的? – hugoterelle

回答

1

你需要创建一个自定义值转换为Visibility,也可以使用Visibility plugin

public class MyVisibilityValueConverter : MvxBaseVisibilityValueConverter<bool> 
{ 
    protected override MvxVisibility Convert(string value, object parameter, CultureInfo culture) 
    { 
     return (value ==true) ? MvxVisibility.Visible : MvxVisibility.Collapsed; 
    } 
} 

XML:

local:MvxBind="Visibility ProgressVisibility,Converter=MyVisibility 

更多信息here

+0

使用Visibility插件,我能够解决 – Devrath