ComboBox не работает во всплывающем окне
У меня странная проблема ComboBox
не работает (список открывается, но выбор не меняется) в течение Flyout
в приложении UWP. Flyout
прикреплен к кнопке панели приложения следующим образом:
<Page.BottomAppBar>
<CommandBar>
<AppBarButton>
<AppBarButton.Flyout>
<Flyout>
<ContentControl x:Name="UnitConverter" />
</Flyout>
</AppBarButton.Flyout>
<SymbolIcon Symbol="Switch" />
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
ContentControl
получает контент автоматически от Caliburn.Micro. Содержание в UserControl
назначен на ContentControl
примерно выглядит
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.Row="0" Grid.Column="0" Text="{Binding Source.Value, Mode=TwoWay}" />
<ComboBox Grid.Row="0" Grid.Column="1" ItemsSource="{Binding Units}" SelectedItem="{Binding Source.Unit, Mode=TwoWay}" />
<Button Grid.RowSpan="2" Grid.Column="2" x:Name="SwapUnits">
<SymbolIcon Symbol="Switch" VerticalAlignment="Center" />
</Button>
<TextBox Grid.Row="0" Grid.Column="3" Text="{Binding Target.Value}" IsReadOnly="True" />
<ComboBox Grid.Row="0" Grid.Column="4" ItemsSource="{Binding Units}" SelectedItem="{Binding Target.Unit, Mode=TwoWay}" />
</Grid>
Если я использую ту же конструкцию (<ContentControl x:Name="UnitConverter" />
), как часть нормального содержимого страницы, все работает отлично. Тем не менее Flyout
открывается, показывает правильный контент, я могу открыть выпадающий ComboBox
, но ничего не происходит, если раскрывающийся список закрывается (выбор не изменяется на элемент, на который я нажал).
Моей первой мыслью было то, что Flyout
каким-то образом предотвращает передачу событий в UserControl
, но (я) раскрывающийся ComboBox
открывается и (ii) кнопка "SwapUnits" работает отлично (события нажатия активируются).
Я использую Anniversary Edition (14393), минимальная версия 10586.
Как я могу это исправить?
Заранее спасибо, Кристоф