У меня проблема с ListView. Я хочу, чтобы каждая ячейка имела метку и переключатель, но текст метки не отображается.Изменение метки Xamarin в ListCell не работает
Вот мой код:
public class FilterPage : ContentPage
{
public FilterPage()
{
List<FilterCell> listContent = new List<FilterCell>();
foreach(string type in Database.RestaurantTypes)
{
FilterCell fc = new FilterCell();
fc.Text = type;
listContent.Add(fc);
}
ListView types = new ListView();
types.ItemTemplate = new DataTemplate(typeof(FilterCell));
types.ItemsSource = listContent;
var layout = new StackLayout();
layout.Children.Add(types);
Content = layout;
}
}
public class FilterCell : ViewCell
{
private Label label;
public Switch CellSwitch { get; private set; }
public String Text{ get { return label.Text; } set { label.Text = value; } }
public FilterCell()
{
label = new Label();
CellSwitch = new Switch();
var layout = new StackLayout
{
Padding = new Thickness(20, 0, 0, 0),
Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.FillAndExpand,
Children = { label, CellSwitch }
};
View = layout;
}
}
Если я вхожу фиксированный текст в FilterCell-Конструктора он отлично работает (например: label.Text = "Hello World")
Когда я создаю Метод для ItemSelected-Event и зачитать свойство SelectedItem.Text. Я получаю текст, назначенный как Value, но он никогда не отображается. Когда я пытаюсь запустить этот код, отображается только переключатель.
Спасибо за вашу помощь Niko
@Jason код, который я разместил, не работает для меня.Это не приводит к ошибке, но я не вижу текст ярлыка Просто замените базу данных.RestaurantTypes с любым списком строк – greece57
Я просто присвоил метке текст «Просто тест» в конструкторе, и это то, что отображается в приложение Но когда я проверяю label.Text в режиме отладки, это не то, что отображается :( Есть ли возможность обновить макет? Я не нашла его:/ – greece57