mirror of
https://github.com/amwx/FluentAvalonia.git
synced 2026-10-29 04:17:11 +08:00
245 lines
14 KiB
XML
245 lines
14 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
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:ui="using:FluentAvalonia.UI.Controls"
|
|
xmlns:local="using:FluentAvaloniaSamples.Controls"
|
|
xmlns:uip="using:FluentAvalonia.UI.Controls.Primitives"
|
|
xmlns:wnd="using:FluentAvalonia.UI.Windowing"
|
|
xmlns:vm="using:FluentAvaloniaSamples.ViewModels"
|
|
xmlns:aedit="using:AvaloniaEdit"
|
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
|
x:Class="FluentAvaloniaSamples.Views.MainView"
|
|
x:DataType="vm:MainViewViewModel">
|
|
<UserControl.Styles>
|
|
<Style Selector="ui|NavigationView.SampleAppNav">
|
|
<Setter Property="IsPaneToggleButtonVisible" Value="False" />
|
|
<Setter Property="OpenPaneLength" Value="72" />
|
|
</Style>
|
|
<Style Selector="ui|NavigationView.SampleAppNav[IsBackButtonVisible=False] SplitView /template/ ContentPresenter#PART_PanePresenter">
|
|
<Setter Property="Margin" Value="0 40 0 0" />
|
|
</Style>
|
|
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter">
|
|
<Setter Property="Width" Value="72" />
|
|
<Setter Property="MinHeight" Value="60" />
|
|
<Setter Property="CornerRadius" Value="{StaticResource ControlCornerRadius}" />
|
|
<Setter Property="Foreground" Value="{DynamicResource TextFillColorSecondaryBrush}" />
|
|
<Setter Property="Template">
|
|
<ControlTemplate>
|
|
<Border Name="LayoutRoot"
|
|
Background="{TemplateBinding Background}"
|
|
CornerRadius="{TemplateBinding CornerRadius}"
|
|
Margin="4 2"
|
|
TemplatedControl.IsTemplateFocusTarget="True">
|
|
<Panel>
|
|
<Panel HorizontalAlignment="Left"
|
|
VerticalAlignment="Center">
|
|
|
|
<Border Name="SelectionIndicator"
|
|
Background="{DynamicResource NavigationViewSelectionIndicatorForeground}"
|
|
Width="3"
|
|
Opacity="0"
|
|
VerticalAlignment="Center"
|
|
Height="20"
|
|
CornerRadius="{StaticResource ControlCornerRadius}"/>
|
|
</Panel>
|
|
|
|
|
|
<DockPanel>
|
|
<ContentPresenter Name="ContentPresenter"
|
|
Grid.Row="1"
|
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
|
Content="{TemplateBinding Content}"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Bottom"
|
|
FontSize="10"
|
|
Padding="0 4"
|
|
Margin="0 -15 0 3"
|
|
DockPanel.Dock="Bottom">
|
|
<ContentPresenter.Styles>
|
|
<Style Selector="TextBlock">
|
|
<Setter Property="TextWrapping" Value="Wrap" />
|
|
</Style>
|
|
</ContentPresenter.Styles>
|
|
</ContentPresenter>
|
|
|
|
<Viewbox Name="IconBox"
|
|
Height="28"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center">
|
|
<ContentPresenter Name="Icon"
|
|
Content="{Binding TemplateSettings.Icon, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</Viewbox>
|
|
|
|
</DockPanel>
|
|
</Panel>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
</Style>
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:pointerover /template/ ContentPresenter#ContentPresenter">
|
|
<Setter Property="Foreground" Value="{DynamicResource TextFillColorPrimaryBrush}" />
|
|
</Style>
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:pointerover /template/ ContentPresenter#Icon">
|
|
<Setter Property="Foreground" Value="{DynamicResource TextFillColorPrimaryBrush}" />
|
|
</Style>
|
|
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:pressed /template/ ContentPresenter#ContentPresenter">
|
|
<Setter Property="Foreground" Value="{DynamicResource TextFillColorSecondaryBrush}" />
|
|
</Style>
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:pressed /template/ ContentPresenter#Icon">
|
|
<Setter Property="Foreground" Value="{DynamicResource TextFillColorSecondaryBrush}" />
|
|
</Style>
|
|
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:selected /template/ ContentPresenter#ContentPresenter">
|
|
<Setter Property="IsVisible" Value="False" />
|
|
</Style>
|
|
<Style Selector="ui|NavigationViewItem.SampleAppNav uip|NavigationViewItemPresenter:selected /template/ ContentPresenter#Icon">
|
|
<Setter Property="Foreground" Value="{DynamicResource AccentFillColorDefaultBrush}" />
|
|
</Style>
|
|
|
|
<!-- AutoCompleteBox -->
|
|
<Style Selector="AutoCompleteBox.SampleApp /template/ TextBox#PART_TextBox">
|
|
<Setter Property="InnerRightContent">
|
|
<Template>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button Content=""
|
|
FontFamily="{StaticResource SymbolThemeFontFamily}"
|
|
Theme="{StaticResource TransparentButton}"
|
|
Command="{Binding $parent[TextBox].Clear}"
|
|
IsVisible="{Binding Text, RelativeSource={RelativeSource FindAncestor, AncestorType=TextBox}, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
<Button Content=""
|
|
FontFamily="{StaticResource SymbolThemeFontFamily}"
|
|
Theme="{StaticResource TransparentButton}"
|
|
Command="{Binding $parent[TextBox].Clear}"
|
|
IsHitTestVisible="False"/>
|
|
</StackPanel>
|
|
</Template>
|
|
</Setter>
|
|
</Style>
|
|
</UserControl.Styles>
|
|
|
|
<Grid RowDefinitions="Auto, *">
|
|
<Grid Name="TitleBarHost" ColumnDefinitions="Auto,Auto,*" Background="Transparent">
|
|
<Image Margin="12 4"
|
|
IsHitTestVisible="False"
|
|
Source="/Assets/FAIcon.ico"
|
|
Width="18" Height="18"
|
|
DockPanel.Dock="Left"
|
|
Name="WindowIcon"/>
|
|
|
|
<TextBlock Text="{Binding Title, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
|
|
FontSize="12"
|
|
IsHitTestVisible="False"
|
|
VerticalAlignment="Center"
|
|
Grid.Column="1"/>
|
|
|
|
<Border Grid.Column="2" Padding="6">
|
|
<AutoCompleteBox Name="SearchBox"
|
|
MaxWidth="500"
|
|
Watermark="Search"
|
|
Classes="SampleApp"
|
|
ValueMemberBinding="{Binding Header, DataType=vm:MainAppSearchItem}"
|
|
ItemsSource="{Binding MainSearchItems}"
|
|
wnd:AppWindow.AllowInteractionInTitleBar="True">
|
|
<AutoCompleteBox.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:MainAppSearchItem">
|
|
<TextBlock Text="{Binding Header}" />
|
|
</DataTemplate>
|
|
</AutoCompleteBox.ItemTemplate>
|
|
</AutoCompleteBox>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<ui:NavigationView Classes="SampleAppNav"
|
|
AlwaysShowHeader="False"
|
|
PaneDisplayMode="Left"
|
|
IsPaneOpen="True"
|
|
Grid.RowSpan="2"
|
|
Name="NavView"
|
|
IsSettingsVisible="False"
|
|
IsBackEnabled="{Binding #FrameView.CanGoBack}">
|
|
<Panel>
|
|
<ui:Frame Name="FrameView"/>
|
|
</Panel>
|
|
</ui:NavigationView>
|
|
|
|
<Panel Name="OverlayHost"
|
|
Grid.Row="1">
|
|
<Panel.Styles>
|
|
<Style Selector="local|ControlDefinitionOverlay">
|
|
<Setter Property="Template">
|
|
<ControlTemplate>
|
|
<Border Background="{TemplateBinding Background}">
|
|
<Panel Margin="20">
|
|
|
|
<ExperimentalAcrylicBorder CornerRadius="8">
|
|
<ExperimentalAcrylicBorder.Material>
|
|
<ExperimentalAcrylicMaterial TintColor="{DynamicResource SolidBackgroundFillColorBase}"
|
|
FallbackColor="{DynamicResource SolidBackgroundFillColorBase}"
|
|
TintOpacity="0.85"
|
|
BackgroundSource="Digger"
|
|
MaterialOpacity="1" />
|
|
</ExperimentalAcrylicBorder.Material>
|
|
</ExperimentalAcrylicBorder>
|
|
|
|
<Panel>
|
|
<ScrollViewer>
|
|
<StackPanel>
|
|
<TextBlock Text="{Binding TargetType.Name, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Theme="{StaticResource TitleTextBlockStyle}"
|
|
Margin="12 8 12 0" />
|
|
<TextBlock Text="{Binding TargetType, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Classes="CaptionTextBlockStyle"
|
|
Margin="12 0 12 8"
|
|
Foreground="{DynamicResource AccentTextFillColorPrimaryBrush}"
|
|
FontStyle="Italic"/>
|
|
|
|
<TextBlock Text="Inheritance"
|
|
Theme="{StaticResource SubtitleTextBlockStyle}"
|
|
Margin="12 4"/>
|
|
|
|
<TextBlock Text="{TemplateBinding Inheritance}"
|
|
Margin="24 4"
|
|
TextWrapping="Wrap" />
|
|
|
|
<TextBlock Text="Pseudoclasses"
|
|
Theme="{StaticResource SubtitleTextBlockStyle}"
|
|
Margin="12 4"/>
|
|
|
|
<TextBlock Text="{TemplateBinding PseudoclassesList}"
|
|
Margin="24 4"
|
|
TextWrapping="Wrap" />
|
|
|
|
<TextBlock Text="Definition"
|
|
Theme="{StaticResource SubtitleTextBlockStyle}"
|
|
Margin="12 4"/>
|
|
|
|
<!--<aedit:TextEditor Name="TextEditor"
|
|
Margin="12 0"
|
|
Background="Transparent" />-->
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
|
|
|
|
<Button Name="CloseButton"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Top"
|
|
Theme="{StaticResource TransparentButton}"
|
|
Margin="12">
|
|
<ui:SymbolIcon Symbol="Dismiss" FontSize="18" />
|
|
</Button>
|
|
</Panel>
|
|
|
|
</Panel>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
</Style>
|
|
</Panel.Styles>
|
|
<local:ControlDefinitionOverlay Name="CtrlDefOverlay" />
|
|
</Panel>
|
|
</Grid>
|
|
</UserControl>
|