xmlns:viewModels="clr-namespace:Dev.ViewModels"
xmlns:models="clr-namespace:Dev.Models"
x:DataType="viewModels:LoginViewModel"
<Picker ItemsSource="{Binding Genders,Mode=TwoWay}"
SelectedItem="{Binding SelectedItemGender,Mode=TwoWay}"
ItemDisplayBinding="{Binding PickerText}"
FontFamily="OpenSansSemibold"
VerticalOptions="CenterAndExpand"
HorizontalOptions="FillAndExpand"
FontSize="12"/>
public class PickerRoot
{
public string? PickerValue { get; set; }
public string? PickerText { get; set; }
}
internal partial class LoginViewModel
{
[ObservableProperty]
private ObservableCollection<PickerRoot> genders = new();
[ObservableProperty]
private PickerRoot? selectedItemGender;
public LoginViewModel()
{
GetGenderList();
}
private void GetGenderList()
{
Genders.Clear();
Genders.Add(new PickerRoot { PickerText = "Select", PickerValue = "Select" });
Genders.Add(new PickerRoot { PickerText = "Male", PickerValue = "Male" });
Genders.Add(new PickerRoot { PickerText = "Female", PickerValue = "Female" });
SelectedItemGender = Genders.Where(x => x.PickerText == "Male").FirstOrDefault();
}
}
getting error- XamlC warning XC0022: Binding could be compiled to improve runtime performance if x:DataType is specified.
<Picker ItemsSource="{Binding Genders}"
x:DataType="models:PickerRoot"
SelectedItem="{Binding SelectedItemGender,Mode=TwoWay}"
ItemDisplayBinding="{Binding PickerText}"
TitleColor="{DynamicResource LabelPlaceHolder}"
FontFamily="OpenSansSemibold"
VerticalOptions="CenterAndExpand"
HorizontalOptions="FillAndExpand"
FontSize="12"/>
if i specify x:DataType then getting below error
XamlC warning XC0045: Binding: Property "Genders" not found on "Dev.Models.PickerRoot".