我正在尝试使用SplitView控件创建导航栏。我将其DisplayMode属性设置为CompactInline,并将CompactPaneLength和OpenPaneLength属性设置为两个不同的值。
问题是,当SplitView被关闭(压缩)时,其Pane的内容将不会知道新的大小,因此,如果我在其中放置Border元素,该元素将不会被拉伸并离开紧凑窗格区域:

 <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <SplitView IsPaneOpen="False" CompactPaneLength="100" OpenPaneLength="200" DisplayMode="CompactInline">
        <SplitView.Pane>
            <Border BorderBrush="Blue" Height="50"
                    BorderThickness="4"
                    VerticalAlignment="Top">
                <FontIcon Glyph="&#xE094;"
                          Width="40"
                          Height="40" />
            </Border>
        </SplitView.Pane>
    </SplitView>
</Grid>


这是一个演示问题的图像:



问题是:如何在不使用事件处理程序和代码的情况下解决问题?

最佳答案

您的compactPane宽度设置为100像素。由于边框的宽度不受限制,因此它将拉伸,变为100 px。边框的内容将居中。

将CompactPane宽度设置为50,或将边框宽度设置为50以解决该问题

关于c# - 当SplitView处于压缩模式时,拉伸(stretch)SplitView.Pane的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29710993/

10-12 04:26