2017-01-08 3 views
0

У меня есть основной список элементов в моем приложении, к которому подключен переключатель. Мой класс item имеет атрибут bool canChange. Я хочу привязать видимость переключателя к значению canChange bool. Поэтому, если canChange == true, переключатель будет виден, но если canChange == false, то переключатель будет невидим.Как сделать Xamarin.Forms Switch невидимым?

Вот мой класс Item:

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

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

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

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

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

+0

Да, похоже, я просто написал Видимый неправильно. Иногда орфография - это страшная вещь. – cvanbeek

-1

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

Visibility="Collapsed" 
+2

исправьте меня, если я ошибаюсь, но разве это не относится к Windows Forms, а не к Xamarin? – Moira

+1

Этот ответ не применим к Xamarin.Forms –