创建侧边栏 – 像WPF中的Windows桌面应用程序一样

我想要做的是在WPF中创建一个桌面应用程序,其UI是一个小图标将保持固定在屏幕左边缘的中心,点击(或可能悬停)将滑动打开侧边栏(如谷歌桌面栏)沿着屏幕的左边缘运行(固定位置,不能移动).

请注意,我要求的可能就像一个appbar但我不希望左侧边缘的桌面图标移动,因为它发生在appbar,即我不希望它占用桌面空间… .can有人请建议我出路吗?

我使用this实现了部分解决方案,但我无法获得幻灯片动画和固定位置到锻炼

最佳答案
像这样的东西可以工作:

那么你当然可以为侧边栏创建动画幻灯片.这显示了(部分)透明度和切换原理.

XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        WindowStyle="None" Topmost="True" WindowState="Maximized" 
        AllowsTransparency="True" Background="Transparent">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Rectangle Name="rect" Width="100" VerticalAlignment="Stretch" Fill="#99000000" Visibility="Collapsed" />
        <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Width="32" Height="32" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Right" Background="White" Click="Button_Click">&gt;</Button>
    </Grid>
</Window>

C#:

private void Button_Click(object sender, RoutedEventArgs e)
{
    if (rect.Visibility == System.Windows.Visibility.Collapsed)
    {
        rect.Visibility = System.Windows.Visibility.Visible;
        (sender as Button).Content = "<";
    }
    else 
    {
        rect.Visibility = System.Windows.Visibility.Collapsed;
        (sender as Button).Content = ">";
    }        
}

转载注明原文:创建侧边栏 – 像WPF中的Windows桌面应用程序一样 - 代码日志