如何使用 Isvisible Property 的绑定方法?

Posted

技术标签:

【中文标题】如何使用 Isvisible Property 的绑定方法?【英文标题】:How to use binding method for Isvisible Propery? 【发布时间】:2020-09-11 02:45:19 【问题描述】:

我是 Xamarin Forms 和 MVMM 的新手。我需要使用 MVMM 概念在运行时隐藏和取消隐藏标签。我正在创建绑定属性并绑定到它。但它不起作用。

我的 Xaml 代码是:

< Label Text="The Error" IsVisible="Binding IsVisible"/>

我的 ViewModel 代码是:

private bool isvisible;
public event PropertyChangedEventHandler OnPropertyChanged; 
public void PropertyChanged([CallerMemberName] string propertyName = "")
   
   this.OnPropertyChanged?.Invoke(this, new 
 PropertyChangedEventArgs(propertyName));



public bool IsVisible 
    
         get
            
                return isvisible;
            
         set
            
                isvisible = value;
                PropertyChanged();
             
    

一旦我将 isvisible 属性设置为 true,标签就会被取消隐藏。如何实现?

我做错了什么...

【问题讨论】:

【参考方案1】:

确保将视图模型定义为视图的 BindingContext。 viewmodel 应该继承 INotifyPropertyChanged。然后,在视图模型中将 IsVisible 设置为 true 或 false 应该可以工作:

IsVisible = True; // Or False depending on your conditions

【讨论】:

以上是关于如何使用 Isvisible Property 的绑定方法?的主要内容,如果未能解决你的问题,请参考以下文章

wpf 数据绑定 IsVisible 到 TabControl.SelectedItem != null

无法成功将 IsVisible 动态绑定到静态字段

isHiden和isVisible的区别(可是有nativeEvent进行设置)

片段 isVisible() 不成立时为真

Xamarin.Forms Timepicker IsVisible 属性与自定义渲染器

动态壁纸 isVisible/onVisibilityChanged 不适用于 Android 9+ 应用程序抽屉