#c# #xamarin #xamarin.forms
#c# #xamarin #xamarin.forms
Вопрос:
Я только начинаю изучать xamarin и знаю, что должен перейти на подход MVVM, но перед этим я хочу попробовать код, лежащий в основе привязки, но он не работает. Я вижу, что в мобильном приложении есть 2 строки, но я не вижу значения привязки. Почему?
TestListView.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="XamarinTabbed.Views.TestListView">
<ContentPage.Content>
<StackLayout>
<ListView x:Name="MyLV">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10">
<Label Text="{Binding Name}" TextColor="Black" />
<Label Text="{Binding Status}" TextColor="AliceBlue" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
TestListView.xaml.cs
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class TestListView : ContentPage
{
public TestListView ()
{
InitializeComponent ();
MyLV.ItemsSource = new ObservableCollection<Employee> {
new Employee { Name = "t1", Status = "tt" },
new Employee { Name = "t2", Status = "t2" }
};
}
public class Employee {
public string Name;
public string Status;
}
}
Комментарии:
1.
Name
иStatus
в вашемEmployee
классе должны быть свойства , а не поля для привязки к работе.
Ответ №1:
Ваш класс должен выглядеть следующим образом. Как @jsanalytics упоминалось в комментарии. Имя и статус должны быть свойствами, а не полями.
public class Employee
{
public string Name { get; set; }
public string Status { get; set; }
}