Esempio n. 1
0
        public IEnumerable <Inline> ParseLine(string[] line)
        {
            var rowCount = line.Length / this.columnCount + (line.Length % this.columnCount != 0 ? 1 : 0);

            var grid = new Grid();

            grid.ColumnDefinitions.AddRange(Generater.Create <ColumnDefinition>(this.columnCount));
            grid.RowDefinitions.AddRange(Generater.Create <RowDefinition>(rowCount));

            var imageUriParser = new ImageUriParser();
            var imageCreator   = new ImagesCreator();

            foreach (var item in line
                     .Select(z => imageUriParser.TryParse(z))
                     .Where(z => z != null)
                     .EnumerateIndexValuePair())
            {
                var image = imageCreator.AddImage(item.Value);
                if (image == null)
                {
                    continue;
                }
                var col = item.Index % this.columnCount;
                var row = item.Index / this.columnCount;
                Grid.SetColumn(image, col);
                Grid.SetRow(image, row);
                grid.Children.Add(image);
            }

            yield return(new InlineUIContainer(grid));
        }
Esempio n. 2
0
        public ThingViewerViewModel(ThingViewModel thingViewModel)
        {
            var uriParser = new ImageUriParser();

            this.ThingViewModel = thingViewModel;
            this.Background     = uriParser.TryParse(thingViewModel.Source.Background)?.Uri;
            this.Cover          = uriParser.TryParse(thingViewModel.Source.Cover)?.Uri;

            this.GroupedFields = new ObservableCollection <GroupedList <string, FieldViewModel> >(
                this.ThingViewModel.Fields.GroupBy(z => z.Source.Name).Select(z => z.ToList()));
            this.existsFields.AddRange(this.ThingViewModel.Fields.Select(z => z.Source.TargetId));

            this.BeginGetFieldsReverse();

            this.Copyers.AddRange(App.Current.ModuleManager.Copyers);
        }
Esempio n. 3
0
        public async void BeginLoadThingName()
        {
            if (this.thingName != null)
            {
                return;
            }
            this.thingName = string.Empty;
            Debug.WriteLine($"load field for [{this.TargetId}]");
            var thing = await App.Current.ThingSetAccessor.FindOneAsync(this.TargetId);

            if (thing != null)
            {
                this.Name         = thing.MajorWord().Text;
                this.DisplayValue = $"{this.Source.Name} 「{thing.MajorWord().Text}」";
                var uriParser = new ImageUriParser();
                this.Icon  = uriParser.TryParse(thing.Icon)?.Uri;
                this.Cover = uriParser.TryParse(thing.Cover)?.Uri;
            }
        }
Esempio n. 4
0
        public IEnumerable <Inline> ParseLine(string[] lines)
        {
            var uriParser = new ImageUriParser();

            foreach (var line in lines)
            {
                var uri = uriParser.TryParse(line);
                if (uri == null)
                {
                    continue;
                }

                var player = new MediaPlayerControl
                {
                    IsAutoPlay  = this.isAutoPlay,
                    DisplayName = uri.Name ?? string.Empty
                };
                player.SetSource(uri.Uri);
                yield return(new InlineUIContainer(player));
            }
        }