mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-25 11:46:07 +00:00
130 lines
7.9 KiB
XML
130 lines
7.9 KiB
XML
<Window
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
|
xmlns:local="clr-namespace:QuickLook"
|
|
xmlns:control="clr-namespace:QuickLook.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:converters="clr-namespace:QuickLook.Converters"
|
|
mc:Ignorable="d" x:Class="QuickLook.MainWindowTransparent" x:Name="mainWindow"
|
|
UseLayoutRounding="True"
|
|
d:DesignWidth="624" d:DesignHeight="700"
|
|
MinWidth="275" MinHeight="150"
|
|
WindowStartupLocation="CenterScreen"
|
|
Focusable="False" WindowStyle="None"
|
|
Background="#E5FAFAFA" AllowsTransparency="True"
|
|
ShowActivated="False" ShowInTaskbar="False"
|
|
FontFamily="Segoe UI,Microsoft Yahei UI">
|
|
<Window.Resources>
|
|
<converters:BooleanToResizeModeConverter x:Key="BooleanToResizeModeConverter" />
|
|
<converters:BooleanToResizeBorderThicknessConverter x:Key="BooleanToResizeBorderThicknessConverter" />
|
|
</Window.Resources>
|
|
<Window.ResizeMode>
|
|
<Binding Converter="{StaticResource BooleanToResizeModeConverter}" ElementName="mainWindow"
|
|
Path="ContextObject.CanResize" />
|
|
</Window.ResizeMode>
|
|
<WindowChrome.WindowChrome>
|
|
<WindowChrome CaptionHeight="{Binding Height, ElementName=titlebar}"
|
|
ResizeBorderThickness="{Binding ContextObject.CanResize, Converter={StaticResource BooleanToResizeBorderThicknessConverter}, ElementName=mainWindow}"
|
|
UseAeroCaptionButtons="False" />
|
|
</WindowChrome.WindowChrome>
|
|
<Border x:Name="windowBorder" BorderThickness="1" BorderBrush="#FF7B7B7B">
|
|
<Grid>
|
|
<DockPanel x:Name="windowPanel">
|
|
<DockPanel.Style>
|
|
<Style TargetType="{x:Type DockPanel}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ContextObject.IsBusy, ElementName=mainWindow, Mode=OneWay}"
|
|
Value="False">
|
|
<DataTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1"
|
|
BeginTime="0:0:0" Duration="0:0:0" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.EnterActions>
|
|
<DataTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0"
|
|
BeginTime="0:0:0" Duration="0:0:0" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.ExitActions>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</DockPanel.Style>
|
|
<DockPanel x:Name="titlebar" Height="28" Dock="Top">
|
|
<fa:ImageAwesome DockPanel.Dock="Right" x:Name="buttonCloseWindow" Icon="TimesCircle"
|
|
WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Height="15" Margin="10,0" Foreground="Gray"
|
|
Cursor="Hand" />
|
|
<Button x:Name="buttonOpenWith" DockPanel.Dock="Right" Content="Open with ..." Height="20"
|
|
Margin="10,0,0,0" Padding="5,0"
|
|
Focusable="False" Cursor="Hand"
|
|
Background="#E5EEEEEE" BorderBrush="#E59A9A9A"
|
|
WindowChrome.IsHitTestVisibleInChrome="True" Foreground="#FF404040" />
|
|
<!-- set grid.background colour makes it clickable -->
|
|
<Grid x:Name="titleArea" Background="Transparent">
|
|
<TextBlock Text="{Binding ContextObject.Title, ElementName=mainWindow}" FontSize="14"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center" />
|
|
</Grid>
|
|
</DockPanel>
|
|
<Grid>
|
|
<ContentControl x:Name="container"
|
|
Content="{Binding ContextObject.ViewerContent, ElementName=mainWindow}" />
|
|
</Grid>
|
|
</DockPanel>
|
|
<Grid x:Name="busyIndicatorLayer">
|
|
<Grid.Style>
|
|
<Style TargetType="{x:Type Grid}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ContextObject.IsBusy, ElementName=mainWindow, Mode=OneWay}"
|
|
Value="False">
|
|
<DataTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ParallelTimeline>
|
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0"
|
|
BeginTime="0:0:0" Duration="0:0:0.05" />
|
|
<ObjectAnimationUsingKeyFrames
|
|
Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="0:0:0.05"
|
|
Value="{x:Static Visibility.Hidden}" />
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</ParallelTimeline>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.EnterActions>
|
|
<DataTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ParallelTimeline>
|
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1"
|
|
BeginTime="0:0:0" Duration="0:0:0" />
|
|
<ObjectAnimationUsingKeyFrames
|
|
Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="0:0:0"
|
|
Value="{x:Static Visibility.Visible}" />
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</ParallelTimeline>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.ExitActions>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Grid.Style>
|
|
<!--IsBusyIndicatorShowing="{Binding IsVisible, ElementName=busyIndicatorLayer}"-->
|
|
<control:BusyDecorator x:Name="busyDecorator"
|
|
IsBusyIndicatorShowing="True"
|
|
VerticalAlignment="Center"
|
|
HorizontalAlignment="Center" />
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Window> |