可见性转换器上的MvvmCross Android链接问题

可见性转换器上的MvvmCross Android链接问题,android,linker,visibility,mvvmcross,Android,Linker,Visibility,Mvvmcross,我知道Android存在链接问题,我知道如何使用LinkerPleaseInclude。但是,对于我看到的问题,我不确定要将什么内容放入LinkerPleaseInclude.cs文件中 我有一个视图,它使用可见性转换器使用布尔IsBusy属性来确定是否应显示多个控件。我使用的是ProgressBar、TextView和ImageView。我尝试了许多组合来修复链接器问题 当部署为debug时,一切都正常,这只是一个发布问题 例如,我的progressBar定义如下(可见性转换器与其他控件的使用

我知道Android存在链接问题,我知道如何使用LinkerPleaseInclude。但是,对于我看到的问题,我不确定要将什么内容放入LinkerPleaseInclude.cs文件中

我有一个视图,它使用可见性转换器使用布尔IsBusy属性来确定是否应显示多个控件。我使用的是ProgressBar、TextView和ImageView。我尝试了许多组合来修复链接器问题

当部署为debug时,一切都正常,这只是一个发布问题

例如,我的progressBar定义如下(可见性转换器与其他控件的使用方式相同)


这些似乎都不起作用。有人能帮我解决这个问题,让我知道我应该做些什么来提高工作的可视性

问题是,在构建Android应用程序的发布版本时,有时会发现某些行为不起作用。这是因为它链接程序的方式。我相信它会以某种方式进行优化,从而删除它认为不使用的代码。要在基于MvvmCross的应用程序中修复它,您必须将调用添加到您认为已优化的代码中。这是通过使用LinkerPleaseInclude.cs文件并添加对“缺失”代码的调用来实现的。在这种情况下,ProgressBar控件的可见性不起作用。我曾尝试向LinkerPleaseInclude.cs文件中添加代码,但不起作用。我找到了解决方案并添加了答案

我将以下代码放入LinkerPleaseInclude.cs中。我认为它是有效的,因为它同时使用了setter和getter

public void Include(ProgressBar ProgressBar)
{
   progressBar.Visibility = !progressBar.Visibility;
}

实际上,您没有指定所看到的问题。发生了什么事?你的进度条没有显示吗?你的日志里有什么有用的东西吗?奇怪的是,我现在添加了答案似乎已经不见了。我不明白这个问题。。
    public void Include(ProgressBar progressBar)
    {
        progressBar.Visibility = ViewStates.Invisible;
    }

    public void Include(TextView textView)
    {
        textView.TextChanged += (sender, args) => textView.Text = "" + textView.Text;
        textView.Hint = "" + textView.Hint; 
        textView.Visibility = ViewStates.Invisible;
    }

    public void Include(ImageView imageView)
    {
        imageView.Visibility = ViewStates.Invisible;
        imageView.Visibility = ViewStates.Visible;
        imageView.Visibility = ViewStates.Gone;
    }

    public void Include(MyViewModel viewModel)
    {
        viewModel.PropertyChanged += (sender, args) => { };
    }

    public void Include(MvxVisibilityValueConverter converter)
    {
        converter.Convert(null, null, null, null);
    }
public void Include(ProgressBar ProgressBar)
{
   progressBar.Visibility = !progressBar.Visibility;
}