Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
<Version>6.1.0-build.6</Version>
</PackageReference>
<PackageReference Include="Microsoft.UI.Xaml">
<Version>2.3.200213001</Version>
<Version>2.4.2</Version>
</PackageReference>
<PackageReference Include="Monaco.Editor">
<Version>0.7.0-alpha</Version>
Expand Down Expand Up @@ -1633,4 +1633,4 @@
<Message Text="CSFiles: @(GeneratedCSFiles->'&quot;%(Identity)&quot;')" />
<Exec Command="for %%f in (@(GeneratedCSFiles->'&quot;%(Identity)&quot;')) do echo #pragma warning disable &gt; %%f.temp &amp;&amp; type %%f | findstr /v /b &quot;#pragma&quot; &gt;&gt; %%f.temp &amp;&amp; move /y %%f.temp %%f &gt; NUL" />
</Target>
</Project>
</Project>
11 changes: 10 additions & 1 deletion Microsoft.Toolkit.Uwp.SampleApp/Shell.SamplePicker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Toolkit.Uwp.Helpers;
using Microsoft.Toolkit.Uwp.SampleApp.Pages;
Expand Down Expand Up @@ -126,7 +127,15 @@ SamplePickerGridView.ItemsSource is Sample[] currentSamples &&

private void NavView_ItemInvoked(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs args)
{
if (args.InvokedItem is SampleCategory category)
//// Temp Workaround for WinUI Bug https://github.com/microsoft/microsoft-ui-xaml/issues/2520
var invokedItem = args.InvokedItem;
if (invokedItem is FrameworkElement fe && fe.DataContext is SampleCategory cat2)
{
invokedItem = cat2;
}
//// End Workaround - args.InvokedItem

if (invokedItem is SampleCategory category)
{
if (SamplePickerGrid.Visibility != Visibility.Collapsed && _selectedCategory == category)
{
Expand Down
71 changes: 55 additions & 16 deletions Microsoft.Toolkit.Uwp.SampleApp/Styles/Generic.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -1119,16 +1119,30 @@
Grid.Column="2"/>

<!-- Top nav list -->
<winui:NavigationViewList AutomationProperties.LandmarkType="Navigation" x:Name="TopNavMenuItemsHost" Grid.Column="3" SelectionMode="Single" IsItemClickEnabled="True" ItemTemplate="{TemplateBinding MenuItemTemplate}" ItemTemplateSelector="{TemplateBinding MenuItemTemplateSelector}" ItemContainerStyle="{TemplateBinding MenuItemContainerStyle}" ItemContainerStyleSelector="{TemplateBinding MenuItemContainerStyleSelector}" ScrollViewer.HorizontalScrollMode="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollMode="Disabled" ScrollViewer.VerticalScrollBarVisibility="Hidden" SingleSelectionFollowsFocus="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.SingleSelectionFollowsFocus}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemContainerTransitions>
<TransitionCollection />
</ListView.ItemContainerTransitions>
</winui:NavigationViewList>
<winui:ItemsRepeaterScrollHost
AutomationProperties.LandmarkType="Navigation"
Grid.Column="3"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollMode="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Hidden">
<ScrollViewer
HorizontalScrollMode="Disabled"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollMode="Disabled"
VerticalScrollBarVisibility="Hidden">
<winui:ItemsRepeater
x:Name="TopNavMenuItemsHost"
ItemTemplate="{TemplateBinding MenuItemTemplateSelector}"
AutomationProperties.LandmarkType="Navigation"
AutomationProperties.Name="{TemplateBinding AutomationProperties.Name}"
AutomationProperties.AccessibilityView = "Content">
<winui:ItemsRepeater.Layout>
<winui:StackLayout Orientation="Horizontal"/>
</winui:ItemsRepeater.Layout>
</winui:ItemsRepeater>
</ScrollViewer>
</winui:ItemsRepeaterScrollHost>

<Button
x:Name="TopNavOverflowButton"
Expand All @@ -1150,11 +1164,18 @@
<Setter Property="Margin" Value="0,-4,0,0" />
</Style>
</Flyout.FlyoutPresenterStyle>
<winui:NavigationViewList x:Name="TopNavMenuItemsOverflowHost" ItemTemplate="{TemplateBinding MenuItemTemplate}" ItemTemplateSelector="{TemplateBinding MenuItemTemplateSelector}" ItemContainerStyle="{TemplateBinding MenuItemContainerStyle}" ItemContainerStyleSelector="{TemplateBinding MenuItemContainerStyleSelector}" SingleSelectionFollowsFocus="False" IsItemClickEnabled="True">
<ListView.ItemContainerTransitions>
<TransitionCollection />
</ListView.ItemContainerTransitions>
</winui:NavigationViewList>
<winui:ItemsRepeaterScrollHost>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<winui:ItemsRepeater
x:Name="TopNavMenuItemsOverflowHost"
ItemTemplate="{TemplateBinding MenuItemTemplateSelector}"
AutomationProperties.AccessibilityView = "Content">
<winui:ItemsRepeater.Layout>
<winui:StackLayout Orientation="Vertical"/>
</winui:ItemsRepeater.Layout>
</winui:ItemsRepeater>
</ScrollViewer>
</winui:ItemsRepeaterScrollHost>
</Flyout>
</Button.Flyout>
</Button>
Expand Down Expand Up @@ -1282,7 +1303,25 @@
Grid.Row="4" />

<!-- Left nav list -->
<winui:NavigationViewList x:Name="MenuItemsHost" Grid.Row="6" SingleSelectionFollowsFocus="False" Margin="0,0,0,20" SelectionMode="Single" IsItemClickEnabled="True" HorizontalAlignment="Stretch" SelectedItem="{TemplateBinding SelectedItem}" ItemTemplate="{TemplateBinding MenuItemTemplate}" ItemTemplateSelector="{TemplateBinding MenuItemTemplateSelector}" ItemContainerStyle="{TemplateBinding MenuItemContainerStyle}" ItemContainerStyleSelector="{TemplateBinding MenuItemContainerStyleSelector}" />
<winui:ItemsRepeaterScrollHost
Grid.Row="6"
Margin="0,0,0,20"
HorizontalAlignment="Stretch"
VerticalAlignment="Top">
<ScrollViewer
TabNavigation="Once"
VerticalScrollBarVisibility="Auto">
<winui:ItemsRepeater
x:Name="MenuItemsHost"
ItemTemplate="{TemplateBinding MenuItemTemplateSelector}"
AutomationProperties.Name="{TemplateBinding AutomationProperties.Name}"
AutomationProperties.AccessibilityView = "Content">
<winui:ItemsRepeater.Layout>
<winui:StackLayout Orientation="Vertical"/>
</winui:ItemsRepeater.Layout>
</winui:ItemsRepeater>
</ScrollViewer>
</winui:ItemsRepeaterScrollHost>

<ContentControl
x:Name="FooterContentBorder"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.UI.Xaml" Version="2.3.200213001" />
<PackageReference Include="Microsoft.UI.Xaml" Version="2.4.2" />
</ItemGroup>

<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,12 +305,76 @@
ItemTemplate="{Binding Path=Owner.SuggestedItemTemplate, RelativeSource={RelativeSource Mode=TemplatedParent}}"
ItemsSource="{Binding Path=Owner.SuggestedItemsSource, RelativeSource={RelativeSource Mode=TemplatedParent}}"
PlaceholderText="{Binding Path=Owner.PlaceholderText, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Style="{StaticResource SystemAutoSuggestBoxStyle}"
Text="{Binding Text, Mode=TwoWay}"
TextBoxStyle="{StaticResource TokenizingTextBoxTextBoxStyle}"/>
<!-- TODO: Visual State to style autosuggestbox based on focus? -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<!-- Copy of System Style from 18362 to try and workaround WinUI Styles -->
<Style TargetType="AutoSuggestBox" x:Key="SystemAutoSuggestBoxStyle">
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="TextBoxStyle" Value="{StaticResource AutoSuggestBoxTextBoxStyle}" />
<Setter Property="UseSystemFocusVisuals" Value="{ThemeResource IsApplicationFocusVisualKindReveal}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="AutoSuggestBox">
<Grid x:Name="LayoutRoot">

<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="Orientation">
<VisualState x:Name="Landscape" />
<VisualState x:Name="Portrait" />

</VisualStateGroup>

</VisualStateManager.VisualStateGroups>

<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<TextBox x:Name="TextBox"
Style="{TemplateBinding TextBoxStyle}"
PlaceholderText="{TemplateBinding PlaceholderText}"
Header="{TemplateBinding Header}"
Width="{TemplateBinding Width}"
ScrollViewer.BringIntoViewOnFocusChange="False"
Canvas.ZIndex="0"
Margin="0"
DesiredCandidateWindowAlignment="BottomEdge"
UseSystemFocusVisuals="{TemplateBinding UseSystemFocusVisuals}" />

<Popup x:Name="SuggestionsPopup">
<Border x:Name="SuggestionsContainer">
<ListView x:Name="SuggestionsList"
Background="{ThemeResource AutoSuggestBoxSuggestionsListBackground}"
BorderThickness="{ThemeResource AutoSuggestListBorderThemeThickness}"
BorderBrush="{ThemeResource AutoSuggestBoxSuggestionsListBorderBrush}"
DisplayMemberPath="{TemplateBinding DisplayMemberPath}"
IsItemClickEnabled="True"
ItemTemplate="{TemplateBinding ItemTemplate}"
ItemTemplateSelector="{TemplateBinding ItemTemplateSelector}"
ItemContainerStyle="{TemplateBinding ItemContainerStyle}"
MaxHeight="{ThemeResource AutoSuggestListMaxHeight}"
Margin="{ThemeResource AutoSuggestListMargin}"
Padding="{ThemeResource AutoSuggestListPadding}" />
</Border>
</Popup>

</Grid>

</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>