简体   繁体   English

如何在Android MvvmCross Xamarin中设置ProgressBar的可见性

[英]How to set visibility for ProgressBar in android MvvmCross Xamarin

I am trying to set visibility for ProgressBar as GONE . 我试图将ProgressBar visibility设置为GONE


In XML 在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" />

In ViewModel ViewModel中

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

I am setting ProgressVisibility = false; 我设置ProgressVisibility = false;


What is happening : The view is still visible and not getting hidden. 发生了什么 :视图仍然可见并且没有被隐藏。 How to resolve this. 如何解决这个问题。

You need to create a custom value converter for Visibility or you can use Visibility plugin 您需要为Visibility创建一个自定义值转换器,也可以使用可见性插件

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

xml: xml:

local:MvxBind="Visibility ProgressVisibility,Converter=MyVisibility

More info here 更多信息在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM