Sheet
从侧边滑入、覆盖在暗化内容之上的面板,即 DrawerPage 的浮出模式。
示例可交互
Live demo unavailable
<DrawerPage Name="Sheet" Classes="sheet" DrawerBehavior="Flyout" DrawerPlacement="Right" DrawerHeader="Edit profile"
Width="560" Height="320" HorizontalAlignment="Left">
<DrawerPage.Drawer>
<StackPanel Spacing="12">
<TextBlock Text="Make changes to your profile here. Click save when you're done."
Foreground="{DynamicResource UIKit.MutedForeground}" TextWrapping="Wrap" />
<TextBox Text="Jason Lee" />
<TextBox Text="@huacnlee" />
</StackPanel>
</DrawerPage.Drawer>
<DrawerPage.DrawerFooter>
<Button Classes="primary" Content="Save changes" />
</DrawerPage.DrawerFooter>
<StackPanel Spacing="8" Margin="16" HorizontalAlignment="Left" VerticalAlignment="Top">
<Button Classes="outline" Content="Open sheet" HorizontalAlignment="Left" Click="OnOpenSheet" />
<TextBlock Text="The sheet slides in over the page." Foreground="{DynamicResource UIKit.MutedForeground}" />
</StackPanel>
</DrawerPage>用法
DrawerPage Classes="sheet" DrawerBehavior="Flyout" 即抽屉。页面是 DrawerPage 的内容,抽屉本身是 Drawer:其标题行由 DrawerHeader 提供(半粗体,带关闭按钮),主体下方是 DrawerFooter。当 IsOpen 变为 true 时,抽屉会在 150ms 内从其所在侧滑入 100px,覆盖在用主题遮罩暗化的内容之上;关闭时立即消失。在上面的演示中,按钮的 Click 处理器把 IsOpen 设为 true。
| 属性 | 含义 |
|---|---|
IsOpen | 打开与关闭抽屉。 |
DrawerPlacement | 滑入的一侧:Left、Right、Top 或 Bottom。 |
DrawerLength | 其宽度,或从顶部、底部起算的高度;默认为 350。 |
DrawerHeader、Drawer、DrawerFooter | 标题行、主体与页脚。 |
BackdropBrush | 暗化效果;设为 {x:Null} 则没有。 |
要在 34px 的 标题栏 之下打开抽屉,请设置 UIKit.Sheet.Margin 资源。
若要在代码中从整个窗口之上打开抽屉,请使用 uikit:Sheet。
示例
四个方向,长度均为 240px;每个按钮的 Click 处理器根据自己的 Tag 设置 DrawerPlacement 并打开抽屉。
Live demo unavailable
<DrawerPage Name="Sheet" Classes="sheet" DrawerBehavior="Flyout" DrawerPlacement="Right" DrawerLength="240" DrawerHeader="Settings"
Width="560" Height="320" HorizontalAlignment="Left">
<DrawerPage.Drawer>
<TextBlock Text="Sheet content" Foreground="{DynamicResource UIKit.MutedForeground}" />
</DrawerPage.Drawer>
<WrapPanel ItemSpacing="8" LineSpacing="8" Margin="16" HorizontalAlignment="Left" VerticalAlignment="Top">
<Button Classes="outline" Content="Left" Tag="Left" Click="OnOpenSheet" />
<Button Classes="outline" Content="Right" Tag="Right" Click="OnOpenSheet" />
<Button Classes="outline" Content="Top" Tag="Top" Click="OnOpenSheet" />
<Button Classes="outline" Content="Bottom" Tag="Bottom" Click="OnOpenSheet" />
</WrapPanel>
</DrawerPage>