- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.4k
 
Add new WrapLayout and StaggeredLayout controls #3160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Merged
      
      
    
  
     Merged
                    Changes from all commits
      Commits
    
    
            Show all changes
          
          
            119 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      2b5eb6c
              
                Update dev/7.0.0 branch version number
              
              
                michael-hawker 1250f2f
              
                Add a new project for layout controls
              
              
                skendrot ec3cca8
              
                First port of the StaggeredPanel to the new StaggeredLayout
              
              
                skendrot 04677f4
              
                Create a new class that will hold layout information
              
              
                skendrot 7b6c797
              
                Early exit if we don't have any items
              
              
                skendrot e42a770
              
                Early exit for no realization area to render to
              
              
                skendrot 5f8de42
              
                Don't work with the UIElement directly within the measure method. Ins…
              
              
                skendrot 3a1a714
              
                Stop measuring elements when we are outside the realization rect
              
              
                skendrot 225a24f
              
                Track the top of the element on the StaggeredItem
              
              
                skendrot 98c3be0
              
                Track the column layout and use that to arrange the items after measure
              
              
                skendrot 78673db
              
                Make sure the top of the elemet accounts for the spacing between items
              
              
                skendrot 3bddce4
              
                Move the column width to the state
              
              
                skendrot 5615681
              
                Remove horizontal alignment calculations. I don't believe this should…
              
              
                skendrot 57a1e60
              
                No need to arrange anything if there is no realization bounds
              
              
                skendrot d2ee3f5
              
                No need to keep arranging if we are outside the bounds
              
              
                skendrot 3814bcb
              
                Return the column for the given index
              
              
                skendrot b6a25e5
              
                Return the final size always
              
              
                skendrot 9eed9df
              
                Get the item in the column layout, not the index
              
              
                skendrot becb6e4
              
                Stop measuring after we have measured all columns that fit the bounds
              
              
                skendrot d8b1c56
              
                If the column width is different from what was previously there then …
              
              
                skendrot c442431
              
                Manually recycle elements that fall outside of the bounds
              
              
                skendrot a6c3375
              
                since we are staying within one column we do not need to track the he…
              
              
                skendrot 2b66a46
              
                Make sure we remove the state
              
              
                skendrot 7767b7c
              
                Rename method to clear all the things
              
              
                skendrot 3931d9d
              
                When the width of the panel changes we could get more columns to use.…
              
              
                skendrot a52d4ab
              
                We ALWAYS want to measure an item that will be in the bounds
              
              
                skendrot a64783a
              
                Calculate the height based on the number of average number of items w…
              
              
                skendrot 9899415
              
                Remove manual recycling logic
              
              
                skendrot 3a8ab88
              
                Remove padding property to be in line with the WinUI layouts
              
              
                skendrot fe0b6c3
              
                Little code Clean up
              
              
                skendrot 235d5a6
              
                Add some comments
              
              
                skendrot 7722f47
              
                Remove method not used anymore
              
              
                skendrot 97fa156
              
                We've already calculated the top. Use that value for placement
              
              
                skendrot 042d970
              
                Remove items from the layout state when an item is removed from the l…
              
              
                skendrot aefd2e0
              
                Clear the columns after the removal item
              
              
                skendrot 0d2f5bb
              
                We don't need to clear any of the cache if the an item was added/remo…
              
              
                skendrot 6415124
              
                Clear cached items when an item is added
              
              
                skendrot 33305e1
              
                Clear the entire cache when the collection has been reset
              
              
                skendrot 519cfb1
              
                No need to calculate the number of columns. We have it in our layout …
              
              
                skendrot b49dc3a
              
                First port of the WrapPanel to be a Layout
              
              
                skendrot 38e81fe
              
                Stop measuring items when we are outside the bounds
              
              
                skendrot 975dc7b
              
                Only arrange items within the bounds
              
              
                skendrot 97a2813
              
                The bottom of the items needs to be within the top bounds.
              
              
                skendrot 72a39b5
              
                Keep track of the element measure and only get the element when we ne…
              
              
                skendrot fb3ae65
              
                break out of the arrange when we have passed the realization bounds
              
              
                skendrot 8d64299
              
                Always measure items that are within the bounds
              
              
                skendrot 68dc5e5
              
                Add the <inheritdoc /> tag
              
              
                skendrot 07cee0b
              
                Clear items when the collection changes
              
              
                skendrot 3e6b7a3
              
                When the Orientation changes, clear the cache
              
              
                skendrot 7e5a391
              
                No need to clear the entire collection. We can just switch the values
              
              
                skendrot 5e226e1
              
                Only check if we're past the bounds when we move to the next row
              
              
                skendrot f4a52dd
              
                Remove Padding to be in line with the WinUI Layouts
              
              
                skendrot 6b4f54e
              
                Add debugger info
              
              
                skendrot 89e08cd
              
                Store the position of items instead of calculating each time
              
              
                skendrot d7d4171
              
                Reset the position of items whenever a layout property changes
              
              
                skendrot 2a14977
              
                Clear positions whenever the available U value changes
              
              
                skendrot a940e55
              
                Clear the available U whenever orientation changes
              
              
                skendrot 1d8d591
              
                Remove property not used
              
              
                skendrot 711bfc4
              
                Make sure to null the position when orientation changes
              
              
                skendrot 6ae10be
              
                Remove the attached property and store the spacing in the state
              
              
                skendrot 100bff8
              
                Calculate the height of the items
              
              
                skendrot 5808401
              
                Don't average items that haven't had their position calculated yet
              
              
                skendrot 4d911e2
              
                Fix type in variable
              
              
                skendrot e09227b
              
                Make sure elements get recycled when they are outside the scope of th…
              
              
                skendrot 592a645
              
                Ignore row spacing for determining which column an items goes to
              
              
                skendrot 4118bdd
              
                This array holds ints, not doubles
              
              
                skendrot 1ed9fa4
              
                Add height to the debugger display
              
              
                skendrot e87a85b
              
                We need to recalculate the height when the RowSpacing changes
              
              
                skendrot 4ea0ada
              
                Revert the change to not account for row spacing when finding the col…
              
              
                skendrot 26ba303
              
                Use the laest version of WinUI
              
              
                skendrot 9e7b442
              
                Make sure elements that are above the bounds are recycled
              
              
                skendrot 2828d13
              
                Merge branch 'master' into Layouts
              
              
                skendrot 3e70dff
              
                Recycle an element if it is below the bounds
              
              
                skendrot 4f3d484
              
                Make method static
              
              
                skendrot 37d8f22
              
                Add case handling for items being replaced
              
              
                skendrot 63e571f
              
                 Switch to a switch statement
              
              
                skendrot b00beff
              
                Add a comment as to what is happening when the height is zero
              
              
                skendrot c657716
              
                Add required space after brace
              
              
                skendrot 19f9fb0
              
                Handle moving of items
              
              
                skendrot d1c12a5
              
                Recycle elements when they are replaced or moved to ensure the correc…
              
              
                skendrot 74c5ede
              
                Switch to a swtich statement for the items changing
              
              
                skendrot 0c5298e
              
                Merge branch 'master' into Layouts
              
              
                Kyaa-dost 978e3db
              
                Add support for moving an item in the wrap layout
              
              
                skendrot 9b55f99
              
                Do not clear the items from the collection. zero out their measure va…
              
              
                skendrot da95ec7
              
                Add handling for an item being replaced in the wrap layout
              
              
                skendrot 5d7164f
              
                A move could effect the position of items after it. So just clear the…
              
              
                skendrot 60acd33
              
                Merge branch 'Layouts' of https://github.com/skendrot/UWPCommunityToo…
              
              
                skendrot 0338d70
              
                Add header to file
              
              
                skendrot 6a02450
              
                Remove unused usings
              
              
                skendrot 15e924f
              
                Add summary comment for the class
              
              
                skendrot bf7c083
              
                Add a simple WrapLayout sample
              
              
                skendrot be13161
              
                Add a simple sample for the new staggered layout
              
              
                skendrot 28e9c54
              
                Put the property on different lines
              
              
                skendrot cefad16
              
                Remove trailing white space
              
              
                skendrot 1d5d9f3
              
                Merge branch 'master' into Layouts
              
              
                skendrot 841a5a4
              
                Remove empty Item group
              
              
                skendrot 85a2003
              
                recycle elements that are below the bounds
              
              
                skendrot 10813b1
              
                Merge branch 'Layouts' of https://github.com/skendrot/UWPCommunityToo…
              
              
                skendrot be17557
              
                Merge branch 'master' into Layouts
              
              
                skendrot 04c1c2c
              
                Merge branch 'master' into Layouts
              
              
                Kyaa-dost b1ac63e
              
                Merge branch 'master' into Layouts
              
              
                michael-hawker e22ac0e
              
                Rename local method
              
              
                skendrot 11ad747
              
                Merge branch 'master' into Layouts
              
              
                skendrot 2dbf136
              
                Only measure an item if it wasn't already measured. This helps speed …
              
              
                skendrot d366457
              
                Increae the size of the items
              
              
                skendrot 7c6b626
              
                Merge branch 'master' into Layouts
              
              
                skendrot 1880101
              
                Add the location for code and documentation
              
              
                skendrot d8d1918
              
                Track the elements that are used and make sure they recycled when the…
              
              
                skendrot 91cf313
              
                Merge branch 'master' into Layouts
              
              
                skendrot 4cb3d83
              
                Merge branch 'master' into Layouts
              
              
                Kyaa-dost a4e18e4
              
                Change the category for the layouts
              
              
                skendrot a3eef4a
              
                When an item changes size we need to set a new height for the item an…
              
              
                skendrot 262275a
              
                If the current measure of the item does not match then the size of th…
              
              
                skendrot 92abf24
              
                Need to check changes in V also
              
              
                skendrot 25ed6d8
              
                Just use the handy Equals method!
              
              
                skendrot c092cf7
              
                No need to remove items that are above index
              
              
                skendrot d542dcc
              
                Move items to a new row if the size makes them larger than the given …
              
              
                skendrot b4e3abf
              
                Merge branch 'master' into Layouts
              
              
                skendrot aca6799
              
                Merge branch 'master' into Layouts
              
              
                Kyaa-dost File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
        
          
          
            35 changes: 35 additions & 0 deletions
          
          35 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/StaggeredLayout/StaggeredLayout.bind
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
| 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:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" | ||
| xmlns:winui="using:Microsoft.UI.Xaml.Controls" | ||
| mc:Ignorable="d"> | ||
| 
     | 
||
| <Page.Resources> | ||
| <DataTemplate x:Key="StaggeredTemplate"> | ||
| <Grid Background="{ThemeResource Brush-Grey-04}"> | ||
| <Border Width="{Binding Width}" Height="{Binding Height}"> | ||
| <Border.Background> | ||
| <SolidColorBrush Color="{Binding Color}"/> | ||
| </Border.Background> | ||
| <TextBlock Text="{Binding Index}" FontSize="20"/> | ||
| </Border> | ||
| </Grid> | ||
| 
     | 
||
| </DataTemplate> | ||
| </Page.Resources> | ||
| 
     | 
||
| <Grid Padding="48"> | ||
| <ScrollViewer > | ||
| <winui:ItemsRepeater x:Name="StaggeredRepeater" | ||
| ItemTemplate="{StaticResource StaggeredTemplate}"> | ||
| <winui:ItemsRepeater.Layout> | ||
| <controls:StaggeredLayout DesiredColumnWidth="@[DesiredColumnWidth:Slider:250:50-400]" | ||
| ColumnSpacing="@[ColumnSpacing:Slider:5:0-50]@" | ||
| RowSpacing="@[RowSpacing:Slider:5:0-50]@"/> | ||
| </winui:ItemsRepeater.Layout> | ||
| </winui:ItemsRepeater> | ||
| </ScrollViewer> | ||
| </Grid> | ||
| </Page> | 
        
          
          Binary file added
          
            BIN
              
                +196 Bytes
              
          
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/StaggeredLayout/StaggeredLayout.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
          
            14 changes: 14 additions & 0 deletions
          
          14 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/StaggeredLayout/StaggeredLayoutPage.xaml
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| <Page | ||
| x:Class="Microsoft.Toolkit.Uwp.SampleApp.SamplePages.StaggeredLayoutPage" | ||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
| xmlns:local="using:Microsoft.Toolkit.Uwp.SampleApp.SamplePages.StaggeredLayout" | ||
| xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
| xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
| mc:Ignorable="d" | ||
| Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> | ||
| 
     | 
||
| <Grid> | ||
| 
     | 
||
| </Grid> | ||
| </Page> | ||
        
          
          
            56 changes: 56 additions & 0 deletions
          
          56 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/StaggeredLayout/StaggeredLayoutPage.xaml.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
| // See the LICENSE file in the project root for more information. | ||
| 
     | 
||
| using System; | ||
| using System.Collections.ObjectModel; | ||
| using Microsoft.Toolkit.Uwp.UI.Extensions; | ||
| using Microsoft.UI.Xaml.Controls; | ||
| using Windows.UI; | ||
| using Windows.UI.Xaml; | ||
| using Windows.UI.Xaml.Controls; | ||
| 
     | 
||
| namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages | ||
| { | ||
| /// <summary> | ||
| /// An empty page that can be used on its own or navigated to within a Frame. | ||
| /// </summary> | ||
| public sealed partial class StaggeredLayoutPage : Page, IXamlRenderListener | ||
| { | ||
| private ObservableCollection<Item> _items = new ObservableCollection<Item>(); | ||
| private Random _random; | ||
| 
     | 
||
| public StaggeredLayoutPage() | ||
| { | ||
| this.InitializeComponent(); | ||
| 
     | 
||
| _random = new Random(DateTime.Now.Millisecond); | ||
| for (int i = 0; i < _random.Next(1000, 5000); i++) | ||
| { | ||
| var item = new Item { Index = i, Width = _random.Next(50, 250), Height = _random.Next(50, 250), Color = Color.FromArgb(255, (byte)_random.Next(0, 255), (byte)_random.Next(0, 255), (byte)_random.Next(0, 255)) }; | ||
| _items.Add(item); | ||
| } | ||
| } | ||
| 
     | 
||
| public void OnXamlRendered(FrameworkElement control) | ||
| { | ||
| var repeater = control.FindChildByName("StaggeredRepeater") as ItemsRepeater; | ||
| 
     | 
||
| if (repeater != null) | ||
| { | ||
| repeater.ItemsSource = _items; | ||
| } | ||
| } | ||
| 
     | 
||
| private class Item | ||
| { | ||
| public int Index { get; internal set; } | ||
| 
     | 
||
| public int Width { get; internal set; } | ||
| 
     | 
||
| public int Height { get; internal set; } | ||
| 
     | 
||
| public Color Color { get; internal set; } | ||
| } | ||
| } | ||
| } | 
        
          
          
            33 changes: 33 additions & 0 deletions
          
          33 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/WrapLayout/WrapLayout.bind
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
| 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:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" | ||
| xmlns:winui="using:Microsoft.UI.Xaml.Controls" | ||
| mc:Ignorable="d"> | ||
| 
     | 
||
| <Page.Resources> | ||
| <DataTemplate x:Key="WrapTemplate"> | ||
| <Border Width="{Binding Width}" Height="50"> | ||
| <Border.Background> | ||
| <SolidColorBrush Color="{Binding Color}"/> | ||
| </Border.Background> | ||
| <TextBlock Text="{Binding Index}" FontSize="20"/> | ||
| </Border> | ||
| </DataTemplate> | ||
| </Page.Resources> | ||
| 
     | 
||
| <Grid Padding="48"> | ||
| <ScrollViewer > | ||
| <winui:ItemsRepeater x:Name="WrapRepeater" | ||
| Background="{ThemeResource Brush-Grey-04}" | ||
| ItemTemplate="{StaticResource WrapTemplate}"> | ||
| <winui:ItemsRepeater.Layout> | ||
| <controls:WrapLayout x:Name="Wrap" | ||
| VerticalSpacing="@[VerticalSpacing:Slider:5:0-200]@" | ||
| HorizontalSpacing="@[HorizontalSpacing:Slider:5:0-200]@"/> | ||
| </winui:ItemsRepeater.Layout> | ||
| </winui:ItemsRepeater> | ||
| </ScrollViewer> | ||
| </Grid> | ||
| </Page> | 
        
          
          Binary file added
          
            BIN
              
                +891 Bytes
              
          
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/WrapLayout/WrapLayout.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
          
            15 changes: 15 additions & 0 deletions
          
          15 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/WrapLayout/WrapLayoutPage.xaml
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| <Page | ||
| x:Class="Microsoft.Toolkit.Uwp.SampleApp.SamplePages.WrapLayoutPage" | ||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
| xmlns:local="using:Microsoft.Toolkit.Uwp.SampleApp.SamplePages.WrapLayout" | ||
| xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
| xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
| xmlns:winui="using:Microsoft.UI.Xaml.Controls" | ||
| mc:Ignorable="d" | ||
| Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> | ||
| 
     | 
||
| <Grid> | ||
| 
     | 
||
| </Grid> | ||
| </Page> | 
        
          
          
            56 changes: 56 additions & 0 deletions
          
          56 
        
  Microsoft.Toolkit.Uwp.SampleApp/SamplePages/WrapLayout/WrapLayoutPage.xaml.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
| // See the LICENSE file in the project root for more information. | ||
| 
     | 
||
| using System; | ||
| using System.Collections.ObjectModel; | ||
| using Microsoft.Toolkit.Uwp.UI.Extensions; | ||
| using Microsoft.UI.Xaml.Controls; | ||
| using Windows.UI; | ||
| using Windows.UI.Xaml; | ||
| using Windows.UI.Xaml.Controls; | ||
| 
     | 
||
| namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages | ||
| { | ||
| /// <summary> | ||
| /// An empty page that can be used on its own or navigated to within a Frame. | ||
| /// </summary> | ||
| public sealed partial class WrapLayoutPage : Page, IXamlRenderListener | ||
| { | ||
| private ObservableCollection<Item> _items = new ObservableCollection<Item>(); | ||
| private Random _random; | ||
| 
     | 
||
| public WrapLayoutPage() | ||
| { | ||
| this.InitializeComponent(); | ||
| 
     | 
||
| _random = new Random(DateTime.Now.Millisecond); | ||
| for (int i = 0; i < _random.Next(1000, 5000); i++) | ||
| { | ||
| var item = new Item { Index = i, Width = _random.Next(50, 250), Height = _random.Next(50, 250), Color = Color.FromArgb(255, (byte)_random.Next(0, 255), (byte)_random.Next(0, 255), (byte)_random.Next(0, 255)) }; | ||
| _items.Add(item); | ||
| } | ||
| } | ||
| 
     | 
||
| public void OnXamlRendered(FrameworkElement control) | ||
| { | ||
| var repeater = control.FindChildByName("WrapRepeater") as ItemsRepeater; | ||
| 
     | 
||
| if (repeater != null) | ||
| { | ||
| repeater.ItemsSource = _items; | ||
| } | ||
| } | ||
| 
     | 
||
| private class Item | ||
| { | ||
| public int Index { get; internal set; } | ||
| 
     | 
||
| public int Width { get; internal set; } | ||
| 
     | 
||
| public int Height { get; internal set; } | ||
| 
     | 
||
| public Color Color { get; internal set; } | ||
| } | ||
| } | ||
| } | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
        
          
          
            31 changes: 31 additions & 0 deletions
          
          31 
        
  Microsoft.Toolkit.Uwp.UI.Controls.Layout/Microsoft.Toolkit.Uwp.UI.Controls.Layout.csproj
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| <Project Sdk="MSBuild.Sdk.Extras"> | ||
| 
     | 
||
| <PropertyGroup> | ||
| <TargetFramework>uap10.0.17134</TargetFramework> | ||
| 
         There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Am I missing where the min target framework is? Will this work on 16299? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the min for WinUI, moving it to 16299 fails to build  | 
||
| <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' ">10.0.18362.0</TargetPlatformVersion> | ||
| <Title>Windows Community Toolkit Layout</Title> | ||
| <Description> | ||
| This library provides XAML layout controls. It is part of the Windows Community Toolkit. | ||
| </Description> | ||
| <RootNamespace>Microsoft.Toolkit.Uwp.UI.Controls</RootNamespace> | ||
| </PropertyGroup> | ||
| 
     | 
||
| <ItemGroup> | ||
| <None Include="VisualStudioToolsManifest.xml" Pack="true" PackagePath="tools" /> | ||
| </ItemGroup> | ||
| 
     | 
||
| <ItemGroup> | ||
| <PackageReference Include="Microsoft.UI.Xaml" Version="2.3.200213001" /> | ||
                
      
                  skendrot marked this conversation as resolved.
               
          
            Show resolved
            Hide resolved
         | 
||
| </ItemGroup> | ||
| 
     | 
||
| <Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" /> | ||
| 
     | 
||
| <!-- https://weblogs.asp.net/rweigelt/disable-warnings-in-generated-c-files-of-uwp-app --> | ||
| <Target Name="PragmaWarningDisablePrefixer" AfterTargets="MarkupCompilePass2"> | ||
| <ItemGroup> | ||
| <GeneratedCSFiles Include="**\*.g.cs;**\*.g.i.cs" /> | ||
| </ItemGroup> | ||
| <Message Text="CSFiles: @(GeneratedCSFiles->'"%(Identity)"')" /> | ||
| <Exec Command="for %%f in (@(GeneratedCSFiles->'"%(Identity)"')) do echo #pragma warning disable > %%f.temp && type %%f >> %%f.temp && move /y %%f.temp %%f > NUL" /> | ||
| </Target> | ||
| </Project> | ||
        
          
          
            3 changes: 3 additions & 0 deletions
          
          3 
        
  ...oolkit.Uwp.UI.Controls.Layout/Microsoft.Toolkit.Uwp.UI.Controls.Layout.csproj.DotSettings
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> | ||
| 
     | 
||
| </wpf:ResourceDictionary> | 
        
          
          
            12 changes: 12 additions & 0 deletions
          
          12 
        
  Microsoft.Toolkit.Uwp.UI.Controls.Layout/Properties/AssemblyInfo.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
| // See the LICENSE file in the project root for more information. | ||
| 
     | 
||
| using System.Resources; | ||
| using System.Runtime.CompilerServices; | ||
| 
     | 
||
| // General Information about an assembly is controlled through the following | ||
| // set of attributes. Change these attribute values to modify the information | ||
| // associated with an assembly. | ||
| [assembly: InternalsVisibleTo("UnitTests")] | ||
| [assembly: NeutralResourcesLanguage("en-US")] | 
        
          
          
            5 changes: 5 additions & 0 deletions
          
          5 
        
  ...kit.Uwp.UI.Controls.Layout/Properties/Microsoft.Windows.Toolkit.UI.Controls.Layout.rd.xml
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata"> | ||
| <Library Name="Microsoft.Toolkit.Uwp.UI.Controls.Layout"> | ||
| </Library> | ||
| </Directives> | 
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you tested it's picked up in release mode by the XAML Reader? If not, just add a dummy reference here.