Splitview定义OpenPaneLength的相对值
本文关键字:相对 OpenPaneLength 定义 Splitview | 更新日期: 2023-09-27 18:13:04
我使用新的SplitView
控件在我的UWP
应用程序中创建一个汉堡包菜单。我的问题是,如果我可以定义一个相对或百分比值,它的OpenPaneLength
属性?例如,我想实现SplitView
的Pane
的宽度是设备宽度的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;
}
}