XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEToolBox

【WPF】XFE工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
<Window x:Class="XFEToolBox.Client.Views.Windows.PopupWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:controls="clr-namespace:XFEToolBox.WpfCore.Controls;assembly=XFEToolBox.WpfCore"
        xmlns:viewmodel="clr-namespace:XFEToolBox.Client.ViewModel.Windows"
        xmlns:windows="clr-namespace:XFEToolBox.Client.ViewModel.Windows"
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance Type=windows:PopupWindowViewModel}"
        Title="{Binding PopupTitle}" ShowInTaskbar="False" Width="320" Height="230" ResizeMode="NoResize"
        Background="Transparent" WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterOwner"
        Opacity="0" Loaded="Window_Loaded" PreviewKeyDown="Window_PreviewKeyDown">
    <Border x:Name="PopupSurface" Margin="12" RenderTransformOrigin="0.5,0.5">
        <Border.Effect>
            <DropShadowEffect Color="#353552" BlurRadius="24" ShadowDepth="6" Opacity="0.3"/>
        </Border.Effect>
        <Border.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="0.96" ScaleY="0.96"/>
                <TranslateTransform Y="12"/>
            </TransformGroup>
        </Border.RenderTransform>
        <controls:RoundedClipBorder CornerRadius="19" Background="{Binding PopupBackground}">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="25"/>
                <RowDefinition Height="{Binding HeaderGridLength}"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <!-- 与主窗口完全相同的顶部拖拽横条及其悬停、按压效果。 -->
            <controls:WindowCaptionBar Margin="19,0,0,0" AllowMaximize="False"
                                       MinimizeButtonVisibility="Collapsed"
                                       DragHandleVisibility="{Binding MoveButtonVisibility}"
                                       CloseButtonVisibility="{Binding CloseButtonVisibility}"
                                       CloseRequested="CaptionBar_CloseRequested"/>

            <StackPanel Grid.Row="1" Margin="22,0,52,5" VerticalAlignment="Center">
                <TextBlock Text="{Binding PopupTitle}" Foreground="White" FontSize="14" FontWeight="Bold" TextTrimming="CharacterEllipsis"/>
                <TextBlock Text="{Binding PopupSubtitle}" Foreground="#DCDCFA" FontSize="10" TextTrimming="CharacterEllipsis"/>
            </StackPanel>

            <controls:RoundedClipBorder Grid.Row="2" Background="{Binding PopupContentBackground}"
                                        CornerRadius="0,0,19,19">
                <Frame x:Name="contentFrame" Content="{Binding Content}" NavigationUIVisibility="Hidden"
                       Background="Transparent" Margin="{Binding ContentMargin}"/>
            </controls:RoundedClipBorder>
        </Grid>
        </controls:RoundedClipBorder>
    </Border>
</Window>