UWP держит всплывающее окно открытым в дизайнере для редактирования

Можете ли вы предложить мне какой-либо обходной путь, чтобы всплывающее окно оставалось открытым во время проектирования?

Например (упрощенно):

<Page.Resources>
    <Flyout x:Key="FlyoutBoardSelection" Placement="Bottom" FlyoutPresenterStyle="{StaticResource FlyoutStyleDefault}" >
        <Textblock Text="I wannabe visible"/>
    </Flyout>
</Page.Resources>

<Grid>
    <Button Grid.Column="0" Grid.Row="0" Style="{StaticResource ButtonStyleDefault}" Content="OpenFlyout" Flyout="{StaticResource FlyoutBoardSelection}"/>
</Grid>

Он хорошо работает во время выполнения, но я могу его проектировать только вслепую.


person István Piroska    schedule 15.01.2018    source источник


Ответы (1)


Самое простое, что вы можете сделать, это временно поместить содержимое всплывающего окна на страницу, оформить его там, а затем вернуть во всплывающее окно.

Еще лучшим решением было бы создать новый UserControl, который вы могли бы спроектировать отдельно, а затем поместить внутрь Flyout.

Щелкните правой кнопкой мыши свой проект, выберите Add -> New File, выберите User Control и назовите его (например, BoardSelectionFlyoutContent). Это создаст файлы xaml и xaml.cs, в которых вы сможете создавать содержимое Flyout с полной поддержкой дизайнера.

Когда вы закончите, вы сначала добавите пространство имен в ссылки XAML в верхней части страницы:

xmlns:local="using:TheNamespaceOfYourControl"

А затем используйте его внутри Flyout:

<Flyout x:Key="FlyoutBoardSelection" Placement="Bottom" 
        FlyoutPresenterStyle="{StaticResource FlyoutStyleDefault}" >
    <local:BoardSelectionFlyoutContent />
</Flyout>
person Martin Zikmund    schedule 15.01.2018