Пример #1
0
        private async Task GetSecondPage(WrapPanel wrapPanel)
        {
            wrapPanel.Children.Clear();
            var res = await _repositoryAnimal.FindByConditionAsync(x => x.TypeOfAnimalId == _typeNumber);

            foreach (var item in res)
            {
                wrapPanel.Children.Add(new Border()
                {
                    Tag             = item.Id,
                    CornerRadius    = new System.Windows.CornerRadius(5),
                    BorderThickness = new Thickness(2),
                    Margin          = new Thickness(10),
                    Height          = 250,
                    Width           = 650,
                    BorderBrush     = Brushes.Black,
                    Background      = (Brush) new BrushConverter().ConvertFrom("#FF4FB7BA"),
                });
            }

            foreach (var item in wrapPanel.Children)
            {
                if (item is Border border)
                {
                    border.MouseDown += MouseDownBorder;
                    border.Child      = new Grid();
                    if (border.Child is Grid grid)
                    {
                        grid.ColumnDefinitions.Add(new ColumnDefinition()
                        {
                            Width = new GridLength(0.75, GridUnitType.Star)
                        });
                        grid.ColumnDefinitions.Add(new ColumnDefinition());
                        Image image = new Image();
                        try
                        {
                            image.Margin  = new Thickness(5);
                            image.Stretch = Stretch.UniformToFill;
                            image.Source  = new BitmapImage(new Uri($"{res.Where(x => x.Id == Convert.ToInt32(border.Tag)).First().ImagePath}"));
                        }
                        catch (Exception) { }
                        finally { grid.Children.Add(image); }

                        TextBlock textBlock = new TextBlock()
                        {
                            TextWrapping = TextWrapping.Wrap,

                            FontSize            = 40,
                            HorizontalAlignment = HorizontalAlignment.Stretch,
                            VerticalAlignment   = VerticalAlignment.Center,
                            FontWeight          = FontWeights.Bold,
                            FontStyle           = FontStyles.Italic,
                            FontFamily          = new FontFamily("Segoe Print"),
                            TextAlignment       = TextAlignment.Center,
                            Text = res.Where(x => x.Id == Convert.ToInt32(border.Tag)).First().Name
                        };
                        Grid.SetColumn(textBlock, 1);
                        grid.Children.Add(textBlock);
                    }
                }
            }
        }