MahApps.Metro Flyout не перекрывает столбец - PullRequest
0 голосов
/ 18 ноября 2018

У меня простая раскладка, и я пытаюсь вставить всплывающую подсказку для использования в качестве экрана ввода пользователя. Вот xaml:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="9*"/>
        <ColumnDefinition Width="1*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="0">
        <Button Content="Add New Task" Command="{Binding NewTaskCommand}" Margin="{StaticResource CenteredToolMargin}"/>
        <Button Content="Archive Tasks" Command="{Binding ArchiveTasksCommand}" Margin="{StaticResource CenteredToolMargin}"/>
        <Button Content="Complete Tasks" Command="{Binding CompleteTasksCommand}" Margin="{StaticResource CenteredToolMargin}"/>
    </StackPanel>
    <Controls:Flyout Header="Flyout" Position="Right" Width="200" IsOpen="True">
        <Controls:FlyoutsControl>
            <TextBlock FontSize="24">Hello World</TextBlock>
        </Controls:FlyoutsControl>
    </Controls:Flyout>
</Grid>

Проблема в том, что всплывающее окно отображается слева от столбца 1, а не сверху. Когда я закрываю всплывающее окно, оно оживляет столбец 1. Я попытался поменять теги «Controls: Flyout» и «Controls: FlyoutsControl», так как не могу найти последовательного руководства о том, каким образом они должны идти, но в любом случае он действует одинаково. Я что-то упустил?

1 Ответ

0 голосов
/ 18 ноября 2018

Я установил для ширины столбца 1 значение Авто, если вы хотите установить фиксированную ширину, чем во всплывающем окне, добавьте эту строку Grid.Column="0" Grid.ColumnSpan="2" и удалите Grid.Column="1"

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>


    <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="0">
        <Button Content="Add New Task" />
        <Button Content="Archive Tasks" />
        <Button Content="Complete Tasks" />
    </StackPanel>

    <Controls:Flyout Grid.Column="1" Header="Flyout" Position="Right" Width="200" IsOpen="True">
        <Controls:FlyoutsControl>
            <TextBlock FontSize="24">Hello World</TextBlock>
        </Controls:FlyoutsControl>
    </Controls:Flyout>
</Grid>
...