Средство выбора автоматически открывается, когда ContentView отображается с помощью TabView.
Я разрабатываю приложение только для Android, используя MAUI.NET. Я использую библиотеку DevExpress, в частности элемент управления TabView. Я разделил свои формы редактирования на объекты ContentView, которые будут отображаться на вкладках.
Элемент.xaml:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Mobile.Views.Item"
xmlns:dxco="clr-namespace:DevExpress.Maui.Controls;assembly=DevExpress.Maui.Controls"
xmlns:views="clr-namespace:Mobile.Views.Item"
Title="Item">
<dxco:TabView x:Name="TabView">
<dxco:TabViewItem HeaderText="Edit 1">
<views:Edit1 x:Name="Edit1Tab"/>
</dxco:TabViewItem>
<dxco:TabViewItem HeaderText="Edit 2">
<views:Edit2 x:Name="Edit2Tab"/>
</dxco:TabViewItem>
</dxco:TabView>
</ContentPage>
Изменить1.xaml:
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Mobile.Views.Item.Edit1">
<ScrollView>
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<VerticalStackLayout Grid.Row="0">
<Label Text="NAME" FontSize="Caption"/>
<Entry x:Name="ItemName" Keyboard="Default" ClearButtonVisibility="WhileEditing"/>
</VerticalStackLayout>
</Grid>
</ScrollView>
</ContentView>
Edit2.xaml
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Mobile.Views.Item.Edit2">
<ScrollView>
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<VerticalStackLayout Grid.Row="0">
<Label Text="CATEGORY" FontSize="Caption"/>
<Picker x:Name="ItemCategory">
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Category 1</x:String>
<x:String>Category 2</x:String>
<x:String>Category 3</x:String>
<x:String>Category 4</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
</VerticalStackLayout>
</Grid>
</ScrollView>
</ContentView>
У меня еще не было подключенных моделей, привязок или кода, поэтому в представлениях есть только конструкторы сInitializeComponent()
методы. TabView работает, как и ожидалось, но когда я выбираю вкладку Edit2, сразу же открывается средство выбора ItemCategory.
Я пытался использоватьItemHeaderTapped
событие TabView для установки флага, затем проверьте значение в событии ItemCategory и вызовитеUnfocus()
метод, но он все еще открывается. Я также пробовалFocused
событие в ContentView, но, похоже, оно не срабатывает при выборе вкладки. Я просмотрел документацию DevExpress, но не нашел ничего подходящего.
Есть ли способ предотвратить это?