1

新しいSplitViewコントロールを使用して、アプリでハンバーガー メニューを作成していますUWP。私の質問は、そのOpenPaneLengthプロパティに対して相対値またはパーセント値を定義できるかどうかです。SplitViewの幅がPane、たとえばデバイスの幅の 80% であることを達成したいと考えています。

ありがとうございました!

これはのXAMLコードですSplitView

<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>
4

1 に答える 1

3

IsPaneOpenフラグが に設定されているときはいつでも監視する必要があり、親コンテナの に基づいて をtrue計算します。OpenPaneLengthActualWidth

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


private void IsPaneOpenPropertyChanged(DependencyObject sender, DependencyProperty dp)
{
    if (this.SplitView.IsPaneOpen)
    {
        this.SplitView.OpenPaneLength = this.LayoutRoot.ActualWidth * .8;
    }
}
于 2015-09-17T11:17:08.393 に答える