Как сделать переключатель 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"