Code Monkey home page Code Monkey logo

communitytoolkit / windowscommunitytoolkit Goto Github PK

View Code? Open in Web Editor NEW
5.8K 5.8K 1.4K 302.25 MB

The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building .NET apps with UWP and the Windows App SDK / WinUI 3 for Windows 10 and Windows 11. The toolkit is part of the .NET Foundation.

Home Page: https://docs.microsoft.com/windows/communitytoolkit/

License: Other

C# 99.56% PowerShell 0.43% Batchfile 0.01%
csharp dotnet mvvm uwp uwp-apps uwp-toolkit visual-studio windows windows-10 windows-app-sdk windows-sdk windows-toolkit windowsappsdk winforms winui winui3 wpf xaml xaml-islands

windowscommunitytoolkit's Introduction

Community Toolkit Docs

This repo contains the guidance documentation for various Community Toolkits that are part of the .NET Foundation.

This includes the following projects:

  • .NET Community Toolkit (and MVVM Toolkit)
  • .NET MAUI Community Toolkit
  • Windows Community Toolkit (though our docs are still migrating from the old repo here)

More information to come...

Microsoft Open Source Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

windowscommunitytoolkit's People

Contributors

alexchx avatar andrewleader avatar avknaidu avatar azchohfi avatar canviztheodoreshi avatar cbarkerms avatar code-scottle avatar deltakosh avatar h82258652 avatar hermitdave avatar hhchaos avatar huynhsontung avatar ibraheemosama avatar jamesmcroft avatar kyaa-dost avatar michael-hawker avatar nmetulev avatar odonno avatar peteams avatar rjmurillo avatar robloo avatar rosuavio avatar scottisafool avatar sergio0694 avatar shenchauhan avatar shweaver-msft avatar skendrot avatar vgromfeld avatar vijay-nirmal avatar williamabradley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windowscommunitytoolkit's Issues

Move to target 10586 SDK?

Is there a reason why we are still targeting 10240? It leads to weird VS experiences since most new users will only have 10586. Note that this will only mean we are compiling with 10586, but the code will still work on 10240.

If there is no objection, I would like to move to targeting 10586.

ImageEx - add placeholder image and other relevant bits

Having a placeholder image gives a good user experience and we should add this to ImageEx control.

  • PlaceholderImageSource
  • PlaceholderImageStretch
  • PlaceholderAnimationDuration
  • Need to allow Source Property to get set to null as using the control within ListView Itemtemplate with large number of images will require system to set unset the source.
  • For a non zero animation duration, use composition api to fade in.

Staggered Grid / Staggered Panel

We need a Staggered Grid control that works like wrap grid but can take different sized images (rendered equal width / different heights. Alternatively we could create a Panel that renders items in staggered manner and this can be consumed from GridView by setting ItemsPanel

  1. Implement virtualization
  2. Each column maintains the current height and the next item is set in the column that fits it correctly.. that implies that it doesn't need to follow the style of wrap panel

Add WrapPanel control

Old school XAML had a WrapPanel, but UWP doesn't. HTML supports this natively (if items don't fit on the current line, they simply wrap to the next line).

UWP XAML has "WrapGrid" and "VariableSizedWrapGrid", but these don't allow truly variable sized items, despite their name. They both take a dependency on the first item's width. The VariableSizedWrapGrid allows different sizes, but the sizes have to be a factor of the original item's size.

Here's a good implementation of WrapPanel that I've used: http://codepaste.net/8gr5go

I believe their implementation is correct except for one issue, I think if you change the Orientation property after it has displayed, the layout won't update? They need to call InvalidateMeasure when the Orientation property is changed? Like the following...

    public static readonly DependencyProperty OrientationProperty =
        DependencyProperty.Register("Orientation",
        typeof(Orientation), typeof(MyWrapPanel), new PropertyMetadata(Orientation.Horizontal, OnMeasureAffectingPropertyChanged));

    private static void OnMeasureAffectingPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
    {
        (sender as MyWrapPanel).OnMeasureAffectingPropertyChanged(e);
    }

    private void OnMeasureAffectingPropertyChanged(DependencyPropertyChangedEventArgs e)
    {
        base.InvalidateMeasure();
    }

Typeload Exception

New project created with 5.1.1 Core runtime. I added the Facebook SDK ( as described here: https://github.com/Microsoft/UWPCommunityToolkit-docs/blob/master/en-us/uwp-community-toolkit/services/facebook.md ).

At project load I still get this exception loading. I am referencing the Microsoft.Toollit.Uwp.Services, and winsdkfb libraries.

{"Requested Windows Runtime type 'winsdkfb.winsdkfb_uwp_XamlTypeInfo.XamlMetaDataProvider' is not registered.":"winsdkfb.winsdkfb_uwp_XamlTypeInfo.XamlMetaDataProvider"}

I can share the sample project if you want to see it yourself.

Facebook Service typeload Failure

Create a new project and ONLY reference the Microsoft.Windows.Toolkit.Services assembly.

Attempting to reference: Microsoft.Windows.Toolkit.Services.Facebook.FacebookService.Instance.WindowsStoreId results in a typeload exception.

Additional information: Could not find Windows Runtime type 'winsdkfb.FBSession'.

Are we going to add an additional dependency on the services assembly or require users to add another dependency?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.