Я использую порт WPF
ExpanderView
(ExpanderRT) в своем приложении UWP
для отображения расширяемых заголовков с элементами . Это отлично работает, когда приложение запускается в первый раз и инициализируется MainPage
. Однако, если я перейду на новую страницу, а затем вернусь к MainPage
, ExpanderView
выглядит расширенным, но не показывает элементы. Он должен выглядеть так же, как при первой инициализации MainPage
. Я захватил GIF
, чтобы показать поведение.
Это XAML
из UserControl
на MainPage
;
<ListView x:Name="CategoriesListView" ScrollViewer.VerticalScrollBarVisibility="Hidden">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ListViewItemPresenter ContentMargin="0" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate x:DataType="models:Category">
<expander:ExpanderControl
x:Name="expander_Main"
ItemsSource="{x:Bind childItems}"
Expanded="Expanded" />
</DataTemplate>
</ListView.ItemTemplate>
This is the EventHandler
which I use for navigation;
private void OnSettingsButtonChecked(object sender, RoutedEventArgs e)
{
ShellSplitView.IsPaneOpen = false;
ViewModel.NavigationService.Navigate(typeof(SettingsPage));
}
Если кто-нибудь из вас знает, почему ExpanderView
ведет себя так странно, дайте мне подсказку - я могу предоставить больше моего кода, если вам нужно.
[ОБНОВЛЕНИЕ]
Я заметил, что такое поведение происходит только тогда, когда я запускаю приложение на мобильном устройстве (смартфоне или мобильном эмуляторе Windows 10). Если я запускаю приложение на локальном компьютере, ExpanderView
работает нормально. Когда я использую кнопку «Назад» для перехода к MainPage
, она работает, как и ожидалось — я понятия не имею, как это исправить, это действительно странно.