Exemple #1
0
        public Task <Microsoft.UI.Xaml.Controls.IconSource> LoadIconSourceAsync(ImageSource imagesource, CancellationToken cancellationToken = default(CancellationToken))
        {
            Microsoft.UI.Xaml.Controls.IconSource image = null;

            if (imagesource is FileImageSource filesource)
            {
                string file = filesource.File;
                image = new Microsoft.UI.Xaml.Controls.BitmapIconSource {
                    UriSource = new Uri("ms-appx:///" + file)
                };
            }

            return(Task.FromResult(image));
        }
        public Task <Microsoft.UI.Xaml.Controls.IconSource> LoadIconSourceAsync(ImageSource imagesource, CancellationToken cancellationToken = default)
        {
            var imageLoader = imagesource as UriImageSource;

            if (imageLoader?.Uri == null)
            {
                return(null);
            }

            Microsoft.UI.Xaml.Controls.IconSource image = new Microsoft.UI.Xaml.Controls.BitmapIconSource {
                UriSource = imageLoader?.Uri
            };

            return(Task.FromResult(image));
        }
Exemple #3
0
        public void BitmapIconSourceTest()
        {
            BitmapIconSource iconSource = null;
            var uri = new Uri("ms-appx:///Assets/ingredient1.png");

            RunOnUIThread.Execute(() =>
            {
                iconSource = new BitmapIconSource();

                // IconSource.Foreground should be null to allow foreground inheritance from
                // the parent to work.
                Verify.AreEqual(iconSource.Foreground, null);

                Log.Comment("Validate the defaults match BitmapIcon.");

                var icon = new BitmapIcon();
                Verify.AreEqual(icon.UriSource, iconSource.UriSource);

                if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.Controls.BitmapIcon", "ShowAsMonochrome"))
                {
                    Verify.AreEqual(icon.ShowAsMonochrome, iconSource.ShowAsMonochrome);
                }

                Log.Comment("Validate that you can change the properties.");

                iconSource.Foreground       = new SolidColorBrush(Windows.UI.Colors.Red);
                iconSource.UriSource        = uri;
                iconSource.ShowAsMonochrome = false;
            });
            IdleSynchronizer.Wait();

            RunOnUIThread.Execute(() =>
            {
                Verify.IsTrue(iconSource.Foreground is SolidColorBrush);
                Verify.AreEqual(Windows.UI.Colors.Red, (iconSource.Foreground as SolidColorBrush).Color);
                Verify.AreEqual(uri, iconSource.UriSource);
                Verify.AreEqual(false, iconSource.ShowAsMonochrome);
            });
        }