【问题标题】:How to hide out a layout in Xamarin.forms C#?如何隐藏 Xamarin.forms C# 中的布局?
【发布时间】:2015-06-13 05:01:58
【问题描述】:

我有一个带有开关控制的 Stacklayout,当开关值为 true 时,我必须显示布局,如果值更改为 false,我必须隐藏布局。根据一些示例,我看到了如何隐藏一个按钮,但是为了隐藏一个布局,我找不到一个。谁能建议我如何在 Xamarin.forms 中做到这一点。提前感谢那些帮助我解决问题的人。

Switch.cs

void switchControl(object sender, ToggledEventArgs e)
{
    if (e.Value == false)
    {
        StackLayout view = this.FindByName<StackLayout>("employee");
        //hide the layout gone or invisible          
    }else{
        //show the layout visible
    }
}

【问题讨论】:

  • 我不太明白你在做什么。简单地说;您有一个应该显示或隐藏(Stack)Layout 的开关? StackLayout 有一个 IsVisible 属性,这不起作用?
  • 是的,我可以看到它,但你能告诉我如何在切换点击控件上将布局设置为可见和不可见。
  • 您问题中的代码到目前为止工作正常吗?您可能应该将StackLayout view = this.FindByName&lt;StackLayout&gt;("employee"); 移动到您的if statement 之外并在您的if statement 内添加view.IsVisible = true;false 当然当您想隐藏它时。
  • 我已经完成了,但你能告诉我如何在 Xaml 中设置布局不可见或消失
  • 啊,你从来没有在你的问题中提到任何XAML。你能告诉我你目前拥有的XAML 代码吗?您可能应该这样做:&lt;StackLayout x:Name="employee" IsVisible="{Binding NameOfSwitch.IsChecked}"&gt;...&lt;/StackLayout&gt;。像这样,您可以完全删除 switchControl 方法。

标签: c# android xamarin.android xamarin.forms


【解决方案1】:

从我们的讨论中,我了解到您想通过在XAML 中切换Switch 来显示/隐藏布局。

为此,我们将使用data-binding

StackLayout.IsVisible 属性设置为绑定到Switch.IsChecked,如下所示:

<StackLayout x:Name="employee" IsVisible="{Binding NameOfSwitch.IsChecked}">...</StackLayout>

您还注意到默认情况下必须隐藏布局。为了实现这一点,我们将默认情况下将Switch 设置为未选中,如下所示:

<Switch android:checked="false" android:textOn="Yes" android:textOff="No" />

【讨论】:

    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 2016-08-25
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多