Files
2023-04-22 17:14:02 -04:00

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="&#xE8BB;"
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="&#xE721;"
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>