你如何使Xamarin.Forms切换不可见?

时间:2017-01-08 19:47:24

标签: c# xaml xamarin.forms xamarin.forms.listview

我的应用中有一个基本的ListView项目,它附有一个开关。我的item类有一个bool canChange属性。我想将开关的可见性绑定到canChange bool的值。因此,如果canChange == true,则开关将可见,但如果canChange == false,则开关将不可见。

这是我的物品类:

public class Item
{
    public string name { get; set;}
    public bool canClaim { get; set;}
}

这是我目前的XAML:

<ListView.ItemTemplate>
<DataTemplate>
  <ViewCell>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
      </Grid.ColumnDefinitions>
      <Label Text="{Binding name}" Grid.Column="0"/>
      <Switch Grid.Column="1" IsVissible="{Binding canChange}"/>
    </Grid>
  </ViewCell>
</DataTemplate>

现在我知道我的应用程序崩溃因为“IsVissible”属性不存在,但还有另一种属性或方法使开关消失吗?另一种可能的解决方案是将其更改为较浅的颜色,以便用户可以识别出切换不能切换,尽管我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:1)

  

让开关消失

也许您的意思是IsVisible而不是IsVissible

  

开关无法切换

属性IsEnabled应该是正确的。