如何使 Xamarin.Forms 开关不可见?
How do you make a Xamarin.Forms Switch Invisible?
我的应用程序中有一个基本的项目列表视图,它附加了一个开关。我的项目 class 有一个 bool canChange 属性。我想将开关的可见性绑定到 canChange 布尔值。因此,如果 canChange == true,则开关可见,但如果 canChange == false,则开关不可见。
这是我的商品Class:
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" 属性 不存在,但是是否有另一个 属性 或使开关消失的方法?另一种可能的解决方案是将其更改为较浅的颜色,以便用户可以识别无法切换开关,尽管我也不知道该怎么做。
我的应用程序中有一个基本的项目列表视图,它附加了一个开关。我的项目 class 有一个 bool canChange 属性。我想将开关的可见性绑定到 canChange 布尔值。因此,如果 canChange == true,则开关可见,但如果 canChange == false,则开关不可见。
这是我的商品Class:
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" 属性 不存在,但是是否有另一个 属性 或使开关消失的方法?另一种可能的解决方案是将其更改为较浅的颜色,以便用户可以识别无法切换开关,尽管我也不知道该怎么做。