mirror of
https://github.com/sharkdp/bat.git
synced 2025-09-15 09:42:25 +01:00
Add XAML test file
This commit is contained in:
264
tests/syntax-tests/source/XAML/ItemPage.xaml
Normal file
264
tests/syntax-tests/source/XAML/ItemPage.xaml
Normal file
@@ -0,0 +1,264 @@
|
||||
<!--
|
||||
//*********************************************************
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
|
||||
// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
|
||||
// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
|
||||
// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
|
||||
//
|
||||
//*********************************************************
|
||||
-->
|
||||
<Page
|
||||
x:Class="AppUIBasics.ItemPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:common="using:AppUIBasics.Common"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:data="using:AppUIBasics.Data"
|
||||
xmlns:local="using:AppUIBasics"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
x:Name="pageRoot"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<!--
|
||||
This grid acts as a root panel for the page that defines two rows:
|
||||
* Row 0 contains the back button and page title
|
||||
* Row 1 contains the rest of the page layout
|
||||
-->
|
||||
<Grid x:Name="rootPanel" d:DataContext="{Binding Groups[0].Items[0], Source={d:DesignData Source=/DataModel/ControlinfoData.json, Type=data:ControlInfoDataSource}}" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup>
|
||||
<VisualState>
|
||||
<VisualState.StateTriggers>
|
||||
<local:DeviceFamilyTrigger DeviceFamily="Windows.Xbox" />
|
||||
</VisualState.StateTriggers>
|
||||
<VisualState.Setters>
|
||||
<Setter Target="svPanel.Margin" Value="0,0,48,27" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
<VisualStateGroup>
|
||||
<VisualState x:Name="NormalFrameContent" />
|
||||
<VisualState x:Name="WideFrameContent">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="contentFrame.Width" Value="1028" />
|
||||
<Setter Target="contentFrame.HorizontalAlignment" Value="Left" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
<VisualStateGroup x:Name="LayoutVisualStates">
|
||||
<VisualState x:Name="LargeLayout">
|
||||
<VisualState.StateTriggers>
|
||||
<AdaptiveTrigger MinWindowWidth="1372" />
|
||||
</VisualState.StateTriggers>
|
||||
</VisualState>
|
||||
<VisualState x:Name="WideLayout">
|
||||
<VisualState.StateTriggers>
|
||||
<AdaptiveTrigger MinWindowWidth="{StaticResource Breakpoint640Plus}" />
|
||||
</VisualState.StateTriggers>
|
||||
<VisualState.Setters>
|
||||
<Setter Target="seeAlsoPanel.Width" Value="Auto" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.Row)" Value="3" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.Column)" Value="0" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.ColumnSpan)" Value="3" />
|
||||
|
||||
<Setter Target="SourcePanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="DocumentationPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="RelatedControlsPanel.(Grid.Row)" Value="0" />
|
||||
<Setter Target="RelatedControlsPanel.(Grid.Column)" Value="2" />
|
||||
<Setter Target="RelatedControlsPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="FeedbackPanel.(Grid.Row)" Value="1" />
|
||||
<Setter Target="FeedbackPanel.(Grid.Column)" Value="2" />
|
||||
<Setter Target="FeedbackPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
<VisualState x:Name="NarrowLayout">
|
||||
<VisualState.StateTriggers>
|
||||
<AdaptiveTrigger MinWindowWidth="0" />
|
||||
</VisualState.StateTriggers>
|
||||
<VisualState.Setters>
|
||||
<Setter Target="seeAlsoPanel.Width" Value="Auto" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.Row)" Value="3" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.Column)" Value="0" />
|
||||
<Setter Target="seeAlsoPanel.(Grid.ColumnSpan)" Value="3" />
|
||||
|
||||
<Setter Target="SourcePanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="DocumentationPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="RelatedControlsPanel.(Grid.Row)" Value="0" />
|
||||
<Setter Target="RelatedControlsPanel.(Grid.Column)" Value="2" />
|
||||
<Setter Target="RelatedControlsPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="FeedbackPanel.(Grid.Row)" Value="1" />
|
||||
<Setter Target="FeedbackPanel.(Grid.Column)" Value="2" />
|
||||
<Setter Target="FeedbackPanel.(Grid.ColumnSpan)" Value="1" />
|
||||
|
||||
<Setter Target="rightMargin.Width" Value="0" />
|
||||
<Setter Target="contentRoot.Padding" Value="14,0" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
|
||||
<!-- Content Region -->
|
||||
<ScrollViewer
|
||||
x:Name="svPanel"
|
||||
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
VerticalScrollMode="Auto">
|
||||
<Grid x:Name="contentRoot" Padding="24,0,0,0" SizeChanged="OnContentRootSizeChanged">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition x:Name="contentColumn" />
|
||||
<ColumnDefinition x:Name="rightMargin" Width="20" />
|
||||
<ColumnDefinition x:Name="infoColumn" Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="20" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock
|
||||
x:Name="descriptionText"
|
||||
Style="{ThemeResource BodyTextBlockStyle}"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="0,5,24,0"
|
||||
Text="{x:Bind Item.Description}" />
|
||||
|
||||
<Frame x:Name="contentFrame" Grid.Row="1" />
|
||||
|
||||
<Grid
|
||||
x:Name="seeAlsoPanel"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="2"
|
||||
Width="280"
|
||||
Margin="0,0,24,24">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<StackPanel x:Name="SourcePanel" Grid.Row="0" Grid.ColumnSpan="3" Margin="0,0,0,40">
|
||||
<TextBlock
|
||||
x:Name="SourceHeader"
|
||||
x:Uid="SourceHeader"
|
||||
Style="{ThemeResource SubtitleTextBlockStyle}"
|
||||
Text="View page code on GitHub"/>
|
||||
<HyperlinkButton
|
||||
x:Name="PageMarkupGitHubLink"
|
||||
ToolTipService.ToolTip="{x:Bind PageMarkupGitHubLink.NavigateUri, Mode=OneWay}">
|
||||
<TextBlock Text="XAML source code"/>
|
||||
</HyperlinkButton>
|
||||
<HyperlinkButton
|
||||
x:Name="PageCodeGitHubLink"
|
||||
ToolTipService.ToolTip="{x:Bind PageCodeGitHubLink.NavigateUri, Mode=OneWay}"
|
||||
Margin="0,12,0,0">
|
||||
<TextBlock Text="C# source code"/>
|
||||
</HyperlinkButton>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="DocumentationPanel" Grid.Row="1" Grid.ColumnSpan="3" Margin="0,0,0,40">
|
||||
<TextBlock
|
||||
x:Name="docHeader"
|
||||
x:Uid="DocHeader"
|
||||
Style="{StaticResource SubtitleTextBlockStyle}" />
|
||||
<ItemsControl
|
||||
x:Name="DocsList"
|
||||
Margin="0,12,0,0"
|
||||
IsTabStop="False"
|
||||
ItemsSource="{x:Bind Item.Docs}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical" />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate x:DataType="data:ControlInfoDocLink">
|
||||
<HyperlinkButton NavigateUri="{Binding Uri}" ToolTipService.ToolTip="{Binding Uri}">
|
||||
<TextBlock Text="{x:Bind Title}" />
|
||||
</HyperlinkButton>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="RelatedControlsPanel" Grid.Row="2" Grid.ColumnSpan="3" Margin="0,0,0,40">
|
||||
<TextBlock
|
||||
x:Name="relatedControlsHeader"
|
||||
x:Uid="RelatedControlsHeader"
|
||||
Style="{StaticResource SubtitleTextBlockStyle}" />
|
||||
|
||||
<ItemsControl
|
||||
x:Name="relatedItemsControl"
|
||||
Margin="0,12,0,0"
|
||||
IsTabStop="False"
|
||||
ItemsSource="{x:Bind Item.RelatedControls}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical" />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate x:DataType="x:String">
|
||||
<!-- A HyperlinkButton must always provide an accessible name to a screen reader which
|
||||
conveys the purpose of the link. By default, when the HyperlinkButton is built
|
||||
as below, with an Image and TextBlock, the HyperlinkButton provides no accessible
|
||||
name. So bind the accessible name to the same data that provides the text shown
|
||||
visually on the contained TextBlock. -->
|
||||
<HyperlinkButton AutomationProperties.Name="{x:Bind}" Click="OnRelatedControlClick">
|
||||
<RelativePanel>
|
||||
<!-- Now that the HyperlinkButton has a helpful accessible name, it serves no
|
||||
useful purpose for the contained Image, (which is purely decorative,) or
|
||||
the contained TextBlock to be exposed to a screen reader. All the information
|
||||
required by customers using a screen reader is accessible directly through the
|
||||
Hyperlink button. As such, mark the contained elements as not being interesting
|
||||
to a screen reader through use of the AutomationProperties.AccessibilityView
|
||||
property. -->
|
||||
<Image
|
||||
AutomationProperties.AccessibilityView="Raw"
|
||||
x:Name="iconImage"
|
||||
Width="25"
|
||||
Margin="0,0,15,0"
|
||||
common:ImageLoader.Source="{Binding}" />
|
||||
<TextBlock
|
||||
AutomationProperties.AccessibilityView="Raw"
|
||||
Foreground="{ThemeResource HyperlinkButtonForeground}"
|
||||
RelativePanel.RightOf="iconImage"
|
||||
Text="{x:Bind}"
|
||||
TextWrapping="Wrap" />
|
||||
</RelativePanel>
|
||||
</HyperlinkButton>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="FeedbackPanel" Grid.Row="3" Grid.ColumnSpan="3">
|
||||
<TextBlock
|
||||
x:Name="feedbackHeader"
|
||||
x:Uid="FeedbackHeader"
|
||||
Style="{StaticResource SubtitleTextBlockStyle}" />
|
||||
<HyperlinkButton NavigateUri="https://github.com/microsoft/Xaml-Controls-Gallery/issues/new/choose"
|
||||
ToolTipService.ToolTip="https://github.com/microsoft/Xaml-Controls-Gallery/issues/new/choose">
|
||||
<TextBlock x:Uid="FeedbackLink" />
|
||||
</HyperlinkButton>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
</Page>
|
23
tests/syntax-tests/source/XAML/LICENSE.md
Normal file
23
tests/syntax-tests/source/XAML/LICENSE.md
Normal file
@@ -0,0 +1,23 @@
|
||||
The `ItemPage.xaml` file has been added from https://github.com/microsoft/Xaml-Controls-Gallery under the following license:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE
|
Reference in New Issue
Block a user