【发布时间】:2021-02-11 22:27:45
【问题描述】:
在我的 XAML 页面中,我设置了一个 Picker。它工作得很好,但它不是非常用户友好,因为无法在 Picker 参数中添加箭头图标。所以我添加了一个带有手势识别器的图像,如下所示:
<Grid HeightRequest="50">
<Picker x:Name="mySlugPicker" Grid.ColumnSpan="4" Title="Sélectionnez votre serveur" ItemsSource="{Binding ServerList}" ItemDisplayBinding="{Binding Value}" SelectedItem="{Binding SelectedItem}" TextColor="Black" TitleColor="Black" BackgroundColor="White"/>
<Image Grid.Column="4" Source="down_arrow.png">
<Image.GestureRecognizers>
<TapGestureRecognizer NumberOfTapsRequired="1" Command="{Binding OpenPicker}" CommandParameter="{Binding mySlugPicker}"/>
</Image.GestureRecognizers>
</Image>
</Grid>
我想要做的就是在按下向下箭头时打开 Picker,所以我在 ViewModel 中定义了一个这样的命令:
public Command<Picker> OpenPicker { get; }
public ViewModel()
{
OpenPicker = new Command<Picker>(TriggerPickerOpening);
}
private void TriggerPickerOpening(Picker picker)
{
picker.Focus();
}
如您所见,我为 Picker 定义了“x:Name”属性,并将此 x:Name 作为命令参数传递。但是当我启动我的应用程序时,它会抛出一个 NullReferenceException。
我做错了什么?
【问题讨论】:
标签: c# xaml xamarin.forms