Средство выбора автоматически открывается, когда 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, но не нашел ничего подходящего.

Есть ли способ предотвратить это?

0 ответов

Другие вопросы по тегам