Как сделать переключатель Xamarin.Forms невидимым?

У меня есть базовое ListView элементов в моем приложении, к которому подключен переключатель. Мой класс предметов имеет атрибут 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" не существует, но есть ли другое свойство или способ заставить переключатель исчезнуть? Другое возможное решение - изменить цвет на более светлый, чтобы пользователь мог распознать, что переключатель нельзя переключать, хотя я тоже не знаю, как это сделать.

2 ответа

Решение

сделать выключение исчезнуть

Может быть, вы имели в виду IsVisible вместо IsVissible?

переключатель не может быть переключен

Недвижимость IsEnabled должно быть правильно.

Я думаю, что каждый элемент имеет свойство Visibility. Если вы установите это свойство как свернутое, то оно должно работать. Если нет, тогда установите непрозрачность 0, но элемент будет занимать место в вашем приложении.

Visibility="Collapsed"
Другие вопросы по тегам