UWP - Splitview 定义相对于 OpenPaneLength 的值

UWP - Splitview define relative value to OpenPaneLength

我正在使用新的 SplitView 控件在我的 UWP 应用程序中创建汉堡菜单。 我的问题是我是否可以为其 OpenPaneLength 属性 定义一个相对值或百分比值?我想实现 SplitViewPane 的宽度例如是设备宽度的 80%。

谢谢!

这是 SplitView

XAML 代码
<SplitView x:Name="ShellSplitView"
           DisplayMode="Overlay"
           IsPaneOpen="False"
           OpenPaneLength="300">
    <SplitView.Pane>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <RadioButton x:Name="SettingsButton"
                         Grid.Row="1"
                         Content="Settings"
                         Checked="OnSettingsButtonChecked" />
        </Grid>
    </SplitView.Pane>
    <SplitView.Content>...</SplitView.Content>
</SplitView>

你只需要在IsPaneOpen标志设置为true时进行监控,根据其父容器的ActualWidth计算OpenPaneLength

this.SplitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, IsPaneOpenPropertyChanged);


private void IsPaneOpenPropertyChanged(DependencyObject sender, DependencyProperty dp)
{
    if (this.SplitView.IsPaneOpen)
    {
        this.SplitView.OpenPaneLength = this.LayoutRoot.ActualWidth * .8;
    }
}