UWP - Splitview 定义相对于 OpenPaneLength 的值
UWP - Splitview define relative value to OpenPaneLength
我正在使用新的 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;
}
}
我正在使用新的 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;
}
}