Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms 如何访问元素xamarin forms的属性?_Xamarin.forms - Fatal编程技术网

Xamarin.forms 如何访问元素xamarin forms的属性?

Xamarin.forms 如何访问元素xamarin forms的属性?,xamarin.forms,Xamarin.forms,如何从Android和IOS项目访问xamarin表单中页面元素的属性 例如: Button1.IsVisible = false; 但是自从Android项目以来。您可以访问代码隐藏文件中页面元素的属性,但这通常不是一个好的或干净的策略 一个简单的示例是Page.xaml: <Button x:Name="Button1" Content="Sample String"/> <Button IsVisibile="{Binding IsVisible} Content="

如何从Android和IOS项目访问xamarin表单中页面元素的属性

例如:

Button1.IsVisible = false;

但是自从Android项目以来。

您可以访问代码隐藏文件中页面元素的属性,但这通常不是一个好的或干净的策略

一个简单的示例是Page.xaml:

<Button x:Name="Button1" Content="Sample String"/>
<Button IsVisibile="{Binding IsVisible} Content="Sample String"/>
更好的方法是,您可能希望检查数据绑定机制:

作为一个小示例,您将拥有一个实现INotifyPropertyChanged的BindingContext/ViewModel。你可以这样做:

private bool _isVisible;
public bool IsVisible 
{
    get => this._isVisible;
    set 
    {
        if(this._isVisible != value){
            this.IsVisible;
    }
}
然后在您的Page.xaml中:

<Button x:Name="Button1" Content="Sample String"/>
<Button IsVisibile="{Binding IsVisible} Content="Sample String"/>

谢谢,我解决了这个问题:

MessagingCenter.Subscribe(此“btButton1Visible”,(发件人)=>
{
按钮1.IsVisible=假;

});
这是一个自定义渲染器,还是Android项目中的任意随机页面?一般来说,从应用程序的其他地方访问页面的UI元素不是一个好主意。请写下更多您想要的结果,有很多方法可以做到这一点,自定义控件,从android项目到pcl的消息中心,但这取决于你想要什么样的结果。也许通过Xamarin上的OnPlatform在Android或ios上设置不同的东西会有所帮助。您可以在xaml或代码上设置OnPlatform。请检查链接中的示例。