public void t_Tick(object sender, EventArgs e) { if ((DateTime.Now - dt).Seconds >= 2) { if (gameListView.Items.Count != 0) { for (int i = 0; i < gameListView.Items.Count; i++) { ContentPresenter c = (ContentPresenter)gameListView.ItemContainerGenerator.ContainerFromItem(gameListView.Items[i]); TextBlock title = c.ContentTemplate.FindName("PosterGameTitle", c) as TextBlock; Canvas canvas = c.ContentTemplate.FindName("canvasTitle", c) as Canvas; MaterialDesignThemes.Wpf.Card card = c.ContentTemplate.FindName("gameCard", c) as MaterialDesignThemes.Wpf.Card; if (card.IsMouseOver == true) { if (title.Text.ToString().Length > 22) { doubleAnimation.From = 0; doubleAnimation.To = canvas.ActualWidth; doubleAnimation.RepeatBehavior = RepeatBehavior.Forever; doubleAnimation.Duration = new Duration(TimeSpan.Parse("0:0:5")); title.BeginAnimation(Canvas.RightProperty, doubleAnimation); } } } } } }
private async void UserControl_Loaded(object sender, RoutedEventArgs e) { await loadChangelog(); var rows = SessionData.changelog.Split(new string[] { "<<<<|||;;;|||>>>>" }, StringSplitOptions.RemoveEmptyEntries); foreach (var row in rows) { var x = new MaterialDesignThemes.Wpf.Card(); x.Margin = new Thickness(5); x.Width = 400; container.Children.Add(x); var insiderStackPanel = new StackPanel(); var title = new Label(); title.FontSize = 17; var content = new TextBlock(); content.TextWrapping = TextWrapping.Wrap; content.Margin = new Thickness(5); var segment = row.Split(new string[] { "<<<||;;||>>>" }, StringSplitOptions.RemoveEmptyEntries); title.Content = segment[0] + " - " + segment[2]; var lines = segment[1].Split(new string[] { "<<|;|>>" }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { content.Text += line; } insiderStackPanel.Children.Add(title); insiderStackPanel.Children.Add(content); x.Content = insiderStackPanel; } }
public Board() { addIcon = new MaterialDesignThemes.Wpf.PackIcon(); addIcon.Kind = MaterialDesignThemes.Wpf.PackIconKind.Add; addIcon.Width = 50; addIcon.Height = 50; addButton = new System.Windows.Controls.Button() { Width = 60, Height = 60, BorderBrush = Brushes.White, Background = Brushes.White, Foreground = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFB9CBE4")), HorizontalAlignment = System.Windows.HorizontalAlignment.Center, VerticalAlignment = System.Windows.VerticalAlignment.Center, Content = addIcon }; contentGrid = new System.Windows.Controls.Grid(); contentGrid.Children.Add(addButton); backgroundCard = new MaterialDesignThemes.Wpf.Card(); backgroundCard.Background = Brushes.White; backgroundCard.Margin = new System.Windows.Thickness(20); backgroundCard.MinHeight = 150; backgroundCard.Content = contentGrid; }
private void GenerateGuesses(List <List <MasterMindLibrary.Colors> > guesses) { foreach (List <MasterMindLibrary.Colors> guess in guesses) { MaterialDesignThemes.Wpf.Card card = new MaterialDesignThemes.Wpf.Card(); card.Padding = new Thickness(5); card.Margin = new Thickness(5); Grid grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); for (int i = 0; i < guess.Count; i++) { Ellipse ellipse = new Ellipse(); ellipse.Height = 50; ellipse.Width = 50; ellipse.Fill = solidColors[guess[i]]; ellipse.Stroke = new SolidColorBrush(Colors.Black); ellipse.Margin = new Thickness(5); Grid.SetColumn(ellipse, i); grid.Children.Add(ellipse); } card.Content = grid; this.container.Children.Add(card); } }
private async void Page_Loaded(object senderx, RoutedEventArgs ee) { System.Collections.Specialized.StringCollection x = (System.Collections.Specialized.StringCollection)Properties.Settings.Default["bookmarks"]; if (x.Count != 0) { foreach (var i in x) { try { var json = System.IO.File.ReadAllText(i + "\\" + new DirectoryInfo(i).Name + ".json"); dynamic decoded = JsonConvert.DeserializeObject(json); var card = new MaterialDesignThemes.Wpf.Card(); card.Height = 90; card.Width = 200; Label lab = new Label(); lab.Content = decoded.instanceName; lab.FontWeight = FontWeights.ExtraBold; Button play = new Button(); play.Content = "Play"; play.Foreground = new SolidColorBrush(Colors.White); play.Click += new RoutedEventHandler((sender, e) => play_click(this, e, i)); bookmarksContainer.Children.Add(card); StackPanel panel = new StackPanel(); play.Margin = new Thickness(10, 20, 10, 0); lab.HorizontalAlignment = HorizontalAlignment.Center; panel.Children.Add(lab); panel.Children.Add(play); card.Content = panel; } catch (Exception ex) { x.Remove(i); Label lab = new Label(); lab.FontSize = 15; lab.Content = "An error occurred. We fixed it. Reload this page"; bookmarksContainer.Children.Add(lab); break; } } } else { Label lab = new Label(); lab.FontSize = 15; lab.Content = "No bookmarks. Go to installed modpacks and bookmark some modpacks there"; bookmarksContainer.Children.Add(lab); } transition.SelectedIndex = 1; if (Properties.Settings.Default["justUpdated"].ToString() == "true") { await Task.Delay(400); await MaterialDesignThemes.Wpf.DialogHost.Show(new Dialogs.Changelog(), "RootDialog"); Properties.Settings.Default["justUpdated"] = "false"; Properties.Settings.Default.Save(); } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); // force load material desgn dll var card = new MaterialDesignThemes.Wpf.Card(); var hue = new MaterialDesignColors.Hue( "Dummy", System.Windows.Media.Colors.Black, System.Windows.Media.Colors.White); }
public Board(string name) { boardName = name; editIcon = new MaterialDesignThemes.Wpf.PackIcon(); editIcon.Kind = MaterialDesignThemes.Wpf.PackIconKind.Pencil; deleteIcon = new MaterialDesignThemes.Wpf.PackIcon(); deleteIcon.Kind = MaterialDesignThemes.Wpf.PackIconKind.Bin; editButton = new System.Windows.Controls.Button() { Width = 50, Height = 50, BorderBrush = Brushes.White, Background = Brushes.White, Foreground = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FF3A6FBB")), HorizontalAlignment = System.Windows.HorizontalAlignment.Left, VerticalAlignment = System.Windows.VerticalAlignment.Top, Content = editIcon }; deleteButton = new System.Windows.Controls.Button() { Width = 50, Height = 50, BorderBrush = Brushes.White, Background = Brushes.White, Foreground = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFD13F3F")), HorizontalAlignment = System.Windows.HorizontalAlignment.Right, VerticalAlignment = System.Windows.VerticalAlignment.Top, Content = deleteIcon }; titleLabel = new System.Windows.Controls.Label() { Content = boardName, FontSize = 50, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, VerticalAlignment = System.Windows.VerticalAlignment.Center, Foreground = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FF464E64")), FontFamily = new FontFamily("Freestyle Script") }; contentGrid = new System.Windows.Controls.Grid(); contentGrid.Children.Add(titleLabel); contentGrid.Children.Add(editButton); contentGrid.Children.Add(deleteButton); backgroundCard = new MaterialDesignThemes.Wpf.Card(); backgroundCard.Background = Brushes.White; backgroundCard.Margin = new System.Windows.Thickness(20); backgroundCard.MinHeight = 150; backgroundCard.Content = contentGrid; backgroundCard.MouseDown += BoardClick; }
public void Marquee_Stop(object sender, RoutedEventArgs e) { if (gameListView.Items.Count != 0) { for (int i = 0; i < gameListView.Items.Count; i++) { ContentPresenter c = (ContentPresenter)gameListView.ItemContainerGenerator.ContainerFromItem(gameListView.Items[i]); Label title = c.ContentTemplate.FindName("GameTitle", c) as Label; Canvas canvas = c.ContentTemplate.FindName("canvasTitle", c) as Canvas; MaterialDesignThemes.Wpf.Card card = c.ContentTemplate.FindName("gameCard", c) as MaterialDesignThemes.Wpf.Card; if (card.IsMouseOver != true) { if (title.Content.ToString().Length > 20) { title.BeginAnimation(Canvas.RightProperty, null); } } } } }
public TheoryTestUserControl(BE.Trainee trainee, TextBlock st, StackPanel lt, StackPanel ct, StackPanel rt, StackPanel tt, Rectangle rec, MaterialDesignThemes.Wpf.Card card, MaterialDesignThemes.Wpf.Card theory, Button b) { InitializeComponent(); Trainee = trainee; if (iBL_Imp.GetTheoryStatus(Trainee) == BE.Thery_status.Hold) { text_hold.Text = "אין באפשרותך לעשות מבחן כרגע, תוכל לעשות את המבחן הבא\nבתאריך " + Trainee.Last_theory.AddDays(1).ToShortDateString() + " בשעה " + Trainee.Last_theory.AddDays(1).ToShortTimeString(); text_hold.Visibility = Visibility.Visible; return; } sub_title = st; left_tab = lt; center_tab = ct; right_tab = rt; theory_tab = tt; center_tab_rec = rec; new_test_view = card; theory_test = theory; exit = b; txtblk_rules.Text = "במבחן התאוריה יוצגו בפניך " + BE.Configuration.Amount_questions + " שאלות שמתוכם תצטרך לענות נכונה לפחות על " + (BE.Configuration.Amount_questions - BE.Configuration.Fail_theory + 1) + "\n למילוי המבחן יש הגבלת זמן של " + BE.Configuration.Timer_theory + " דקות, כמובן שלמסיימים מוקדם יותר יש אפשרות להגיש קודם" + "\n אם לא עברת מבחן זה בהצלחה - תאלץ לחכות 24 שעות עד שתוכל לעשות מבחן חדש"; // initialize timer time = BE.Configuration.Timer_theory * 60; Timer = new DispatcherTimer(); Timer.Interval = new TimeSpan(0, 0, 1); Timer.Tick += Timer_Tick; before_test.Visibility = Visibility.Visible; }
async void mods_click(object sender, RoutedEventArgs e, string card, string modpackName) { MaterialDesignThemes.Wpf.Card actual = (MaterialDesignThemes.Wpf.Card)modpacksContainer.FindName(card); await MaterialDesignThemes.Wpf.DialogHost.Show(new Dialogs.ModpackFullScreen(modpackName, true), "RootDialog"); }
private void DrawCalendar(int Year, int Mount) { grdCalendar.Children.RemoveRange(7, grdCalendar.Children.Count - 7); CurrentMount = Mount; txtMountName.Text = MountsName[Mount - 1]; Style cardTemplate = this.FindResource("tpCard") as Style; int days = _PC.GetDaysInMonth(Year, Mount); DayOfWeek dW = _PC.GetDayOfWeek(_PC.ToDateTime(Year, Mount, 1, 0, 0, 0, 0)); int row = 1; int col = (int)dW; if (dW == DayOfWeek.Saturday) { col = 0; } else { col++; } for (int i = 1; i <= days; i++) { string pDate = Year + "/" + Mount.ToString().PadLeft(2, '0') + "/" + i.ToString().PadLeft(2, '0'); Calendarlist calendar = Common.Cache.CalendarDays?.FirstOrDefault(x => x.date == pDate); if (calendar == null) { calendar = new Calendarlist() { date = Year + "/" + Mount + "/" + i, canEdit = false, status = -1 }; } Color color = GetColor(CalendarColor.ColorName.NoDate); switch (calendar.status) { case -1: color = GetColor(CalendarColor.ColorName.NoDate); break; case 0: color = GetColor(CalendarColor.ColorName.Readonly); break; case 1: color = GetColor(CalendarColor.ColorName.Editable); break; default: break; } MaterialDesignThemes.Wpf.Card card = new MaterialDesignThemes.Wpf.Card { Style = cardTemplate, DataContext = calendar, Content = calendar, Background = new SolidColorBrush(color) }; grdCalendar.Children.Add(card); Grid.SetRow(card, row); Grid.SetColumn(card, col); card.MouseLeftButtonUp += Card_MouseLeftButtonUp; if (col > 0 && col % 6 == 0) { row++; col = 0; } else { col++; } } }
public void Plot(string name, string directory, string icon, double size, PlotType type) { try { BitmapImage image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; string capacity = Math.Round(ByteSizeLib.ByteSize.FromMegaBytes(size).LargestWholeNumberValue, 2) + " " + ByteSizeLib.ByteSize.FromMegaBytes(size).LargestWholeNumberSymbol; if (type == PlotType.Create) { Directory.CreateDirectory(directory); Properties.Settings.Default.core.Add(directory); Properties.Settings.Default.core3.Add(size); Properties.Settings.Default.core2.Add(name); Properties.Settings.Default.core4.Add(icon); Properties.Settings.Default.Save(); } MaterialDesignThemes.Wpf.Card pr = new MaterialDesignThemes.Wpf.Card(); Grid par = new Grid(); Image img = new Image(); Label lbl = new Label(); Label full = new Label(); Button btn = new Button(); Button menu = new Button(); full.HorizontalAlignment = HorizontalAlignment.Left; full.Margin = new Thickness(106, 65, 0, 0); full.VerticalAlignment = VerticalAlignment.Top; full.FontSize = 12; full.Name = "size" + partnm; full.Content = "0 / " + capacity; lbl.HorizontalAlignment = HorizontalAlignment.Left; lbl.Height = 56; lbl.Margin = new Thickness(105, 11, 0, 0); lbl.VerticalAlignment = VerticalAlignment.Top; lbl.FontSize = 17; lbl.Name = "lbl" + partnm; if (name == "") { lbl.Content = Properties.strings.plot + " " + partnm; } else { lbl.Content = name; } img.HorizontalAlignment = HorizontalAlignment.Left; img.Height = 56; img.Margin = new Thickness(26, 20, 0, 0); img.VerticalAlignment = VerticalAlignment.Top; img.Width = 57; if (icon == "") { image.UriSource = new Uri("ploticon.ico", UriKind.Relative); image.EndInit(); img.Source = image; } else { if (File.Exists(Properties.Settings.Default.mainfolder + @"\IconsLibrary\" + icon)) { image.UriSource = new Uri(Properties.Settings.Default.mainfolder + @"\IconsLibrary\" + icon); image.EndInit(); img.Source = image; } else { image.UriSource = new Uri("ploticon.ico", UriKind.Relative); image.EndInit(); img.Source = image; } } par.Height = 130; btn.Margin = new Thickness(200, 70, 0, 0); menu.Name = "menu" + partnm; menu.Height = 30; menu.Content = new MaterialDesignThemes.Wpf.PackIcon { Kind = MaterialDesignThemes.Wpf.PackIconKind.SettingsOutline, Width = 18, Height = 18 }; menu.Click += Menu_Click; menu.Margin = new Thickness(-240, 70, 0, 0); menu.Width = 50; menu.SetResourceReference(Control.StyleProperty, "MaterialDesignToolButton"); btn.SetResourceReference(Control.StyleProperty, "MaterialDesignFlatButton"); btn.Height = 30; btn.Width = 90; //btn.Content = new MaterialDesignThemes.Wpf.PackIcon { Kind = MaterialDesignThemes.Wpf.PackIconKind.Launch, Width = 22, Height = 22}; btn.Content = Properties.strings.open_lbl.ToUpper(); btn.Name = "btn" + partnm; //btn.HorizontalContentAlignment = HorizontalAlignment.Right; btn.Click += btn_Click; par.Width = 327; System.Windows.Controls.ProgressBar status = new ProgressBar { Name = "status" + partnm }; Thickness progressmargin = new Thickness(109, 46, 0, 0); status.Margin = progressmargin; status.Height = 18; status.Width = 193; status.HorizontalAlignment = HorizontalAlignment.Left; status.VerticalAlignment = VerticalAlignment.Top; if (size == 0) { status.Visibility = Visibility.Collapsed; } else { status.Maximum = size; } status.Minimum = 0; status.Foreground = Brushes.Indigo; status.SetResourceReference(Control.StyleProperty, ""); if (type == PlotType.ViewScreen) { if (!Directory.Exists(directory)) { btn.Foreground = Brushes.Gray; btn.Content = Properties.strings.lost_lbl.ToUpper(); full.Content = Properties.strings.lost; } else { double s = ByteSizeLib.ByteSize.FromBytes(GetDirectorySize(directory)).LargestWholeNumberValue; double sizes = ByteSizeLib.ByteSize.FromBytes(GetDirectorySize(directory)).MegaBytes; string ss = ByteSizeLib.ByteSize.FromBytes(GetDirectorySize(directory)).LargestWholeNumberSymbol; status.Value = sizes; if (size != 0) { full.Content = Math.Round(s, 2) + " " + ss + " / " + capacity; } else { full.Content = Math.Round(s, 2) + " " + ByteSizeLib.ByteSize.FromBytes(GetDirectorySize(directory)).LargestWholeNumberSymbol; } } } par.Name = "part" + partnm; par.Children.Add(full); par.Children.Add(lbl); par.Children.Add(img); par.Children.Add(btn); par.Children.Add(status); par.Children.Add(menu); pr.Content = par; Label l = new Label { Content = "", FontSize = 2 }; if (isright) { cards.Children.Add(pr); cards.Children.Add(l); System.Windows.Controls.Label ll = new Label { Width = 400 }; cards.Children.Add(ll); } else { cards.Children.Add(pr); cards.Children.Add(l); } isright = !isright; partnm++; } catch (Exception h) { MessageBox.Show(Properties.strings.error_unexpected + "\n\n" + h.Message, "DiskPlot", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void CursosPorYear() { Dictionary <string, object> datosQuery = CodigoDeAdomd2DimensionSA(@" SELECT NON EMPTY { [Measures].[Hecho Curso Prog Count] } ON COLUMNS, NON EMPTY { ([Dim Curso].[Curso Descripcion].[Curso Descripcion].ALLMEMBERS * [Dim Fecha].[Fecha Anho].[Fecha Anho].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( -{ [Dim Curso].[Curso Descripcion].[All].UNKNOWNMEMBER } ) ON COLUMNS FROM [CuboCursoProg]) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); Func <double, string> yFormateador; Func <double, string> xFormateador; yFormateador = val => val.ToString("N"); xFormateador = val => new DateTime((long)val).ToString("yyyy"); SeriesCollection sCollection = new SeriesCollection(); //List<string> labels = (List<string>)datosQuery["listaNombres"]; LiveCharts.Wpf.Axis axisY = new LiveCharts.Wpf.Axis(); axisY.Title = (string)datosQuery["tituloX"]; axisY.LabelFormatter = yFormateador; LiveCharts.Wpf.Axis axisX = new LiveCharts.Wpf.Axis(); axisX.Title = (string)datosQuery["tituloY"]; axisX.LabelFormatter = xFormateador; sCollection.AddRange((List <LineSeries>)datosQuery["listaValores"]); CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Series = sCollection; cartesianChart.LegendLocation = LegendLocation.Right; cartesianChart.Height = 250; cartesianChart.VerticalAlignment = VerticalAlignment.Center; cartesianChart.AxisX.Add(axisX); cartesianChart.AxisY.Add(axisY); Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Cursos Por Año"; lbl.HorizontalAlignment = HorizontalAlignment.Center; //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); System.Windows.Thickness margin = new Thickness(); margin.Left = 106; margin.Top = 676; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = 800; crd.Height = 300; grd.Children.Add(cartesianChart); crd.Content = grd; //crd.Content = cartesianChart; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
private void loadCar() { int price = 0; string brand = ""; string specification = ""; string model = ""; BitmapImage image = null; string number = ""; bool reserved = false; string clas = ""; int discount = 0; connectToDataBase(); string loadCars = "SELECT * FROM Cars"; SqlCommand commandBrands = new SqlCommand(loadCars, connection); using (SqlDataReader reader = commandBrands.ExecuteReader()) { while (reader.Read()) { price = Convert.ToInt32(reader["price"]); brand = reader["brand"].ToString(); specification = reader["specification"].ToString(); model = reader["model"].ToString(); if (reader["reserved"] != null) { reserved = true; } else { reserved = false; } number = reader["car_number"].ToString(); clas = reader["class"].ToString(); discount = Convert.ToInt32(reader["discount"]); image = loadPicture(reader["image"] as byte[]); StreamReader mysr = new StreamReader(@"C:\Users\Даниил\Documents\Visual Studio 2015\Projects\AutoPark\AutoPark\ResourcesStyles.xaml"); ResourceDictionary rd = XamlReader.Load(mysr.BaseStream) as ResourceDictionary; Style style = rd["style"] as Style; StringBuilder strbld = new StringBuilder(); Button btn = new Button(); strbld.Append(@"<materialDesign:Card xmlns:materialDesign = 'http://materialdesigninxaml.net/winfx/xaml/themes' xmlns ='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x ='http://schemas.microsoft.com/winfx/2006/xaml'>"); strbld.Append(@"<Grid><Grid.RowDefinitions><RowDefinition Height='140'/> <RowDefinition Height = 'auto'/><RowDefinition Height = '*'/><RowDefinition Height = '*'/><RowDefinition Height = '*'/></Grid.RowDefinitions> <Image Source='Resources/noCar.png' Height='140' Width='220' Stretch='UniformToFill'/> <Button Grid.Row='0' x:Name='btn' Style='{ StaticResource MaterialDesignFloatingActionMiniAccentButton}' HorizontalAlignment = 'Right' VerticalAlignment = 'Bottom' Margin = '0 0 20 -20'><materialDesign:PackIcon Kind = 'Car'/></Button> <StackPanel Grid.Row='1' Margin='8 30 8 0'><TextBlock Style = '{StaticResource MaterialDesignBody2TextBlock}' x:Name = 'textblock' VerticalAlignment = 'Center'/></StackPanel> <Separator Grid.Row='2' Style='{ StaticResource MaterialDesignDarkSeparator}' Margin='8 0 8 0'/> <Grid Grid.Row = '3'><Grid.ColumnDefinitions><ColumnDefinition Width = 'auto'/><ColumnDefinition/></Grid.ColumnDefinitions> <materialDesign:PackIcon Kind = 'AvTimer' VerticalAlignment = 'Top' Margin = '8 5 4 4'/> <ListBox Grid.Column = '1' Style = '{ StaticResource MaterialDesignToolToggleFlatListBox}' VerticalAlignment = 'Top' SelectedIndex = '0' Margin = '12 0 8 4' > <ListBox.Resources><Style TargetType = '{x:Type ListBoxItem}' BasedOn = '{StaticResource MaterialDesignToolToggleListBoxItem}'><Setter Property = 'Padding' Value = '4 6 4 6'/></Style></ListBox.Resources> <ListBoxItem><TextBlock Text = '1 д'/></ListBoxItem> <ListBoxItem><TextBlock Text = '7 д'/></ListBoxItem> <ListBoxItem><TextBlock Text = '30 д'/></ListBoxItem></ListBox></Grid> <Grid Grid.Row='5'><Grid.ColumnDefinitions><ColumnDefinition Width = 'auto'/><ColumnDefinition Width = 'auto'/><ColumnDefinition Width = 'auto'/></Grid.ColumnDefinitions> <Button Grid.Column='0' Style='{ StaticResource MaterialDesignFlatButton}' HorizontalAlignment='Left' VerticalAlignment='Top' Margin='8 0 4 8'>RESERVE</Button> <TextBlock Grid.Column = '1' Style = '{StaticResource MaterialDesignBody2TextBlock}' VerticalAlignment = 'Top' HorizontalAlignment = 'Left' Margin = '25,5,4,8' FontSize = '16'/> <TextBlock Grid.Column = '2' Style = '{StaticResource MaterialDesignBody2TextBlock}' VerticalAlignment = 'Top' HorizontalAlignment = 'Left' Margin = '2,4,4,8' FontSize = '16' Text = 'руб.'/></Grid></Grid></materialDesign:Card>"); BitmapImage img = new BitmapImage(new Uri(@"C:\Users\Даниил\Desktop\noCar.png")); MaterialDesignThemes.Wpf.Card crd = (MaterialDesignThemes.Wpf.Card)XamlReader.Parse(strbld.ToString()); Grid gridFirst = (crd.Content as Grid); Grid gridSecond; StackPanel panel = new StackPanel(); bool firstGrFound = false; TextBlock priceTextBlock = new TextBlock(); TextBlock nameTextBlock = new TextBlock(); System.Windows.Controls.Image carImg = new System.Windows.Controls.Image(); Car car = new Car(price, brand, specification, model, image, number, reserved, clas, discount); wrapPanelCars.Children.Add(crd); crd.Style = style; cardsList.Add(crd); foreach (var item in gridFirst.Children) { if (item is Button) { (item as Button).Click += car.CarButton_Click; } if (item is System.Windows.Controls.Image) { carImg = (item as System.Windows.Controls.Image); if (image == null) { carImg.Source = img; } else { carImg.Source = image; } } if (item is StackPanel) { panel = item as StackPanel; nameTextBlock = panel.Children[0] as TextBlock; nameTextBlock.Text = model; } if (item is Grid && !firstGrFound) { gridSecond = (item as Grid); foreach (var j in gridSecond.Children) { if (j is TextBlock) { priceTextBlock = (j as TextBlock); if (priceTextBlock.Text == "") { priceTextBlock.Text = price.ToString(); carPriceForBook = price; //priceTextBlock.Text = car.getCalculatedPrice().ToString(); } } if (j is Button) { (j as Button).Click += car.BookCarButton_Click; } if (j is ListBox) { (j as ListBox).SelectionChanged += car.listBox_selectedItemChange; } } } } } } connection.Close(); }
private void AddCar_Click(object sender, RoutedEventArgs e) { StreamReader mysr = new StreamReader(@"C:\Users\Даниил\Documents\Visual Studio 2015\Projects\AutoPark\AutoPark\ResourcesStyles.xaml"); ResourceDictionary rd = XamlReader.Load(mysr.BaseStream) as ResourceDictionary; Style style = rd["style"] as Style; System.Windows.Controls.Image noImg = new System.Windows.Controls.Image(); StringBuilder strbld = new StringBuilder(); Button btn = new Button(); strbld.Append(@"<materialDesign:Card xmlns:materialDesign = 'http://materialdesigninxaml.net/winfx/xaml/themes' xmlns ='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x ='http://schemas.microsoft.com/winfx/2006/xaml'>"); strbld.Append(@"<Grid><Grid.RowDefinitions><RowDefinition Height='140'/> <RowDefinition Height = 'auto'/><RowDefinition Height = '*'/><RowDefinition Height = '*'/><RowDefinition Height = '*'/></Grid.RowDefinitions> <Image Source='Resources/noCar.png' Height='140' Width='220' Stretch='UniformToFill'/> <Button Grid.Row='0' x:Name='btn' Style='{ StaticResource MaterialDesignFloatingActionMiniAccentButton}' HorizontalAlignment = 'Right' VerticalAlignment = 'Bottom' Margin = '0 0 20 -20'><materialDesign:PackIcon Kind = 'Car'/></Button> <StackPanel Grid.Row='1' Margin='8 30 8 0'><TextBlock Style = '{StaticResource MaterialDesignBody2TextBlock}' x:Name = 'textblock' VerticalAlignment = 'Center'/></StackPanel> <Separator Grid.Row='2' Style='{ StaticResource MaterialDesignDarkSeparator}' Margin='8 0 8 0'/> <Grid Grid.Row = '3'><Grid.ColumnDefinitions><ColumnDefinition Width = 'auto'/><ColumnDefinition/></Grid.ColumnDefinitions> <materialDesign:PackIcon Kind = 'AvTimer' VerticalAlignment = 'Top' Margin = '8 5 4 4'/> <ListBox Grid.Column = '1' Style = '{ StaticResource MaterialDesignToolToggleFlatListBox}' VerticalAlignment = 'Top' SelectedIndex = '0' Margin = '4 0 8 4' > <ListBox.Resources><Style TargetType = '{x:Type ListBoxItem}' BasedOn = '{StaticResource MaterialDesignToolToggleListBoxItem}'><Setter Property = 'Padding' Value = '4 6 4 6'/></Style></ListBox.Resources> <ListBoxItem><TextBlock Text = '1 д'/></ListBoxItem> <ListBoxItem><TextBlock Text = '7 д'/></ListBoxItem> <ListBoxItem><TextBlock Text = '30 д'/></ListBoxItem></ListBox></Grid> <Grid Grid.Row='5'><Grid.ColumnDefinitions><ColumnDefinition Width = 'auto'/><ColumnDefinition Width = 'auto'/><ColumnDefinition Width = 'auto'/></Grid.ColumnDefinitions> <Button Grid.Column='0' Style='{ StaticResource MaterialDesignFlatButton}' HorizontalAlignment='Left' VerticalAlignment='Top' Margin='8 0 4 8'>RESERVE</Button> <TextBlock Grid.Column = '1' Style = '{StaticResource MaterialDesignBody2TextBlock}' VerticalAlignment = 'Top' HorizontalAlignment = 'Left' Margin = '25,5,4,8' FontSize = '16'/> <TextBlock Grid.Column = '2' Style = '{StaticResource MaterialDesignBody2TextBlock}' VerticalAlignment = 'Top' HorizontalAlignment = 'Left' Margin = '2,4,4,8' FontSize = '16' Text = 'руб.'/></Grid></Grid></materialDesign:Card>"); MaterialDesignThemes.Wpf.Card crd = (MaterialDesignThemes.Wpf.Card)XamlReader.Parse(strbld.ToString()); Grid gridFirst = (crd.Content as Grid); Grid gridSecond; StackPanel panel = new StackPanel(); bool firstGrFound = false; Button bookBtn = new Button(); TextBlock priceTextBlock = new TextBlock(); TextBlock nameTextBlock = new TextBlock(); System.Windows.Controls.Image carImg = new System.Windows.Controls.Image(); BitmapImage carImgBit = loadPicture(byteArray); Car car = new Car(Convert.ToInt32(CarPriceTextBox.Text), CarBrandComboBox.Text, CarSpecTextBox.Text, CarBrandComboBox.Text + " " + CarModelTextBox.Text + " " + CarTransmissionComboBox.Text, carImgBit, CarNumberTextBox.Text, false, CarClassTextBox.Text, Convert.ToInt32(CarDiscountTextBox.Text)); wrapPanelCars.Children.Add(crd); crd.Style = style; cardsList.Add(crd); foreach (var item in gridFirst.Children) { if (item is Button) { (item as Button).Click += car.CarButton_Click; } if (item is System.Windows.Controls.Image) { if (byteArray == null) { (item as System.Windows.Controls.Image).Source = noImgBtm; } else { (item as System.Windows.Controls.Image).Source = carImgBit; } } if (item is StackPanel) { panel = item as StackPanel; nameTextBlock = panel.Children[0] as TextBlock; nameTextBlock.Text = CarBrandComboBox.Text + " " + CarModelTextBox.Text + " " + CarTransmissionComboBox.Text; } if (item is Grid && !firstGrFound) { gridSecond = (item as Grid); foreach (var j in gridSecond.Children) { if (j is TextBlock) { priceTextBlock = (j as TextBlock); if (priceTextBlock.Text == "") { priceTextBlock.Text = CarPriceTextBox.Text; } } if (j is Button) { (j as Button).Click += car.BookCarButton_Click; } if (j is ListBox) { (j as ListBox).SelectionChanged += car.listBox_selectedItemChange; priceTextBlock.Text = car.calculatedDics.ToString(); } } } } connectToDataBase(); int autopark_id = 0; string retrieveAutoparkKey = "SELECT autopark_id FROM Autopark WHERE address = @address"; SqlCommand commandAutoParkkey = new SqlCommand(retrieveAutoparkKey, connection); commandAutoParkkey.Parameters.AddWithValue("@address", CarAutoParkComboBox.Text); using (SqlDataReader reader = commandAutoParkkey.ExecuteReader()) { while (reader.Read()) { autopark_id = Convert.ToInt32(reader["autopark_id"]); } } string addCar = "INSERT INTO Cars VALUES(@car_number,@brand,@spec,@class,@autopark,@model,@reserved,@discount,@pic,@price)"; SqlCommand commandAddCar = new SqlCommand(addCar, connection); try { if (byteArray == null) { commandAddCar.Parameters.AddWithValue("@price", Convert.ToInt32(CarPriceTextBox.Text)); commandAddCar.Parameters.AddWithValue("@brand", CarBrandComboBox.Text); commandAddCar.Parameters.AddWithValue("@car_number", CarNumberTextBox.Text); commandAddCar.Parameters.AddWithValue("@spec", CarSpecTextBox.Text); commandAddCar.Parameters.AddWithValue("@class", CarClassTextBox.Text); commandAddCar.Parameters.AddWithValue("@autopark", autopark_id.ToString()); commandAddCar.Parameters.AddWithValue("@model", CarModelTextBox.Text + " " + CarTransmissionComboBox.Text); commandAddCar.Parameters.AddWithValue("@reserved", "1"); commandAddCar.Parameters.AddWithValue("@discount", CarDiscountTextBox.Text); commandAddCar.Parameters.AddWithValue("@pic", System.Data.SqlTypes.SqlBinary.Null); commandAddCar.ExecuteNonQuery(); } else { commandAddCar.Parameters.AddWithValue("@price", Convert.ToInt32(CarPriceTextBox.Text)); commandAddCar.Parameters.AddWithValue("@brand", CarBrandComboBox.Text); commandAddCar.Parameters.AddWithValue("@car_number", CarNumberTextBox.Text); commandAddCar.Parameters.AddWithValue("@spec", CarSpecTextBox.Text); commandAddCar.Parameters.AddWithValue("@class", CarClassTextBox.Text); commandAddCar.Parameters.AddWithValue("@autopark", autopark_id.ToString()); commandAddCar.Parameters.AddWithValue("@model", CarModelTextBox.Text + " " + CarTransmissionComboBox.Text); commandAddCar.Parameters.AddWithValue("@reserved", "1"); commandAddCar.Parameters.AddWithValue("@discount", CarDiscountTextBox.Text); commandAddCar.Parameters.AddWithValue("@pic", byteArray); commandAddCar.ExecuteNonQuery(); } } catch (Exception ex) { MessageBox.Show("Havent managed to execute query"); throw ex; } finally { MainTabControl.SelectedItem = CarTab; CarAutoParkComboBox.Text = ""; CarBrandComboBox.Text = ""; CarClassTextBox.Text = ""; CarDiscountTextBox.Text = ""; CarModelTextBox.Text = ""; CarPriceTextBox.Text = ""; CarSpecTextBox.Text = ""; CarNumberTextBox.Text = ""; var messageQueue = CarAddedSnackBar.MessageQueue; var message = "Машина успешно добавлена"; messageQueue.Enqueue(message); } connection.Close(); fillUpDataGrids(); AddCarCard.Visibility = Visibility.Collapsed; }
public void AlumnosPorYearLineChart() // inscripciones { Dictionary <string, object> datosQuery = CodigoDeAdomd2Dimension(@" SELECT NON EMPTY { [Measures].[Hecho Inscripcion Count] } ON COLUMNS, NON EMPTY { ([Dim Curso].[Curso Descripcion].[Curso Descripcion].ALLMEMBERS * [Dim Fecha].[Fecha Anho].[Fecha Anho].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 COTILLON], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 DECORACIONES BASICAS Y TORTAS COMERCIALES], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 DISEÑO DE UÑAS], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 INTRODUCCION A LA BARBERIA], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 INTRODUCCION A LA GASTRONOMIA], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 INTRODUCION A LA GASTRONOMIA], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 PANADERIA COMERCIAL Y ARTESANAL], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 PASTELERIA COMERCIAL I], [Dim Curso].[Curso Modulo Descripcion].&[MODULO 1 COCINA SALUDABLE BASICA Y COMIDA RAPIDA] } ) ON COLUMNS FROM ( SELECT ( -{ [Dim Curso].[Curso Descripcion].&[Matricula] } ) ON COLUMNS FROM ( SELECT ( -{ [Dim Fecha].[Fecha Anho].&[2009] } ) ON COLUMNS FROM [CuboInscripcion]))) WHERE ( [Dim Curso].[Curso Modulo Descripcion].CurrentMember ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); Func <double, string> yFormateador; yFormateador = value => value.ToString("N"); SeriesCollection sCollection = new SeriesCollection(); List <string> labels = (List <string>)datosQuery["listaNombres"]; LiveCharts.Wpf.Axis axisY = new LiveCharts.Wpf.Axis(); axisY.Title = (string)datosQuery["tituloY"]; axisY.LabelFormatter = yFormateador; LiveCharts.Wpf.Axis axisX = new LiveCharts.Wpf.Axis(); axisX.Title = (string)datosQuery["tituloX"]; axisX.Labels = labels; sCollection.AddRange((List <LineSeries>)datosQuery["listaValores"]); CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Series = sCollection; cartesianChart.Tag = "Inscripciones por anho"; cartesianChart.LegendLocation = LegendLocation.Right; cartesianChart.Height = 168; cartesianChart.VerticalAlignment = VerticalAlignment.Center; cartesianChart.AxisX.Add(axisX); cartesianChart.AxisY.Add(axisY); Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Alumnos Por Año"; lbl.HorizontalAlignment = HorizontalAlignment.Center; //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); System.Windows.Thickness margin = new Thickness(); margin.Left = 105; margin.Top = 86; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = 1150; crd.Height = 225; crd.Tag = "Inscripciones por Year"; grd.Children.Add(cartesianChart); crd.Content = grd; //crd.Content = cartesianChart; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
//Get forecasts and display them //Each date has a tab in the tabcontrol and each forecast has a card in each tab private void BtnGetForecasts_Click(object sender, RoutedEventArgs e) { if (!validInputs()) return; crdError.Visibility = Visibility.Hidden; tbctrlForecasts.Items.Clear(); //List of all forecasts with same city and date List<UserForecast> matchingForecasts = getMatchingForecasts(); tbctrlForecasts.Visibility = Visibility.Visible; DateTime dt = (DateTime)dtpFrom.SelectedDate; string fileTimeStamp = DateTime.UtcNow.ToFileTimeUtc()+""; var writeReport = MessageBox.Show("Would you like to save this report to file?", "Save Report", System.Windows.MessageBoxButton.YesNo); if(user.UserType == UserType.Forecaster && writeReport == System.Windows.MessageBoxResult.Yes) { startWritingToReportFile(fileTimeStamp); } while (dt.Date.CompareTo(((DateTime)dtpTo.SelectedDate).Date) <= 0) { var date = dt; TabItem tabItem = new TabItem(); tabItem.Padding = new Thickness(5); tabItem.Header = dt.ToLongDateString(); tbctrlForecasts.Items.Add(tabItem); ScrollViewer scrollViewer = new ScrollViewer(); tabItem.Content = scrollViewer; StackPanel stackPanel = new StackPanel(); scrollViewer.Content = stackPanel; //List of forecasts which match date, decides which forecast to put on the card List<UserForecast> fc = matchingForecasts.Where(o => o.ForecastDate.Date.Equals(date.Date)).OrderBy(f => codeCityDict[f.CityID].name).ToList(); //List of cities that dont have forecasts for selected dates List<City> nm = getSelectedCities().Where(o => forecasts.Where(f => f.ForecastDate.Date.Equals(date.Date) && f.CityID == o.id).ToList().Count == 0).OrderBy(o => o.name).ToList(); #region Make card for each forecast foreach (UserForecast forecast in fc) { //Make objects to store the forecasts with the highest/lowest values UserForecast maxTempObj; UserForecast minTempObj; UserForecast maxWindObj; UserForecast maxHumidityObj; UserForecast maxPrecipObj; //Get extremes maxTempObj = fc.Where(o => o.MaximumTemp == fc.Max(f => f.MaximumTemp)).ToList()[0]; minTempObj = fc.Where(o => o.MinimumTemp == fc.Min(f => f.MinimumTemp)).ToList()[0]; maxWindObj = fc.Where(o => o.WindSpeed == fc.Max(f => f.WindSpeed)).ToList()[0]; maxHumidityObj = fc.Where(o => o.Humidity == fc.Max(f => f.Humidity)).ToList()[0]; maxPrecipObj = fc.Where(o => o.Precipitation == fc.Max(f => f.Precipitation)).ToList()[0]; //Make card MaterialDesignThemes.Wpf.Card card = new MaterialDesignThemes.Wpf.Card(); card.Background = new SolidColorBrush(Color.FromArgb(51, 0, 0, 0)); card.Foreground = new SolidColorBrush(Colors.White); card.Margin = new Thickness(10); card.Padding = new Thickness(10, 10, 0, 50); Grid grid = new Grid(); grid.Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)); //nv = Non-value, not used to ouput values.....lbl used to output values card.Content = grid; //City output TextBlock lblCity = new TextBlock(); lblCity.VerticalAlignment = VerticalAlignment.Top; lblCity.HorizontalAlignment = HorizontalAlignment.Left; lblCity.FontSize = 28; lblCity.Margin = new Thickness(10, 10, 0, 0); lblCity.TextAlignment = TextAlignment.Center; lblCity.Text = codeCityDict[forecast.CityID].ToString(); //Date nv TextBlock nvDate = new TextBlock(); nvDate.VerticalAlignment = VerticalAlignment.Top; nvDate.HorizontalAlignment = HorizontalAlignment.Left; nvDate.FontSize = 22; nvDate.Margin = new Thickness(98, 97, 0, 0); nvDate.Text = "Date:"; //Date output TextBlock lblDate = new TextBlock(); lblDate.VerticalAlignment = VerticalAlignment.Top; lblDate.HorizontalAlignment = HorizontalAlignment.Left; lblDate.FontSize = 22; lblDate.Margin = new Thickness(419, 97, 0, 0); lblDate.Text = forecast.ForecastDate.ToLongDateString(); lblDate.FontStyle = FontStyles.Italic; //Min value nv TextBlock nvMin = new TextBlock(); nvMin.VerticalAlignment = VerticalAlignment.Top; nvMin.HorizontalAlignment = HorizontalAlignment.Left; nvMin.FontSize = 22; nvMin.Margin = new Thickness(98, 129, 0, 0); nvMin.Text = "Min:"; //Min temp output TextBlock lblMin = new TextBlock(); lblMin.VerticalAlignment = VerticalAlignment.Top; lblMin.HorizontalAlignment = HorizontalAlignment.Left; lblMin.FontSize = 22; lblMin.Margin = new Thickness(419, 129, 0, 0); lblMin.Text = forecast.MinimumTemp + " °C"; lblMin.FontStyle = FontStyles.Italic; lblMin.Foreground = (forecast.Equals(minTempObj) && fc.Count > 1) ? Brushes.Red : Brushes.White; //Max value nv TextBlock nvMax = new TextBlock(); nvMax.VerticalAlignment = VerticalAlignment.Top; nvMax.HorizontalAlignment = HorizontalAlignment.Left; nvMax.FontSize = 22; nvMax.Margin = new Thickness(98, 160, 0, 0); nvMax.Text = "Max:"; //Max temp output TextBlock lblMax = new TextBlock(); lblMax.VerticalAlignment = VerticalAlignment.Top; lblMax.HorizontalAlignment = HorizontalAlignment.Left; lblMax.FontSize = 22; lblMax.Margin = new Thickness(419, 160, 0, 0); lblMax.Text = forecast.MaximumTemp + " °C"; lblMax.FontStyle = FontStyles.Italic; lblMax.Foreground = (forecast.Equals(maxTempObj) && fc.Count > 1) ? Brushes.Red : Brushes.White; //Wind nv TextBlock nvWind = new TextBlock(); nvWind.VerticalAlignment = VerticalAlignment.Top; nvWind.HorizontalAlignment = HorizontalAlignment.Left; nvWind.FontSize = 22; nvWind.Margin = new Thickness(98, 191, 0, 0); nvWind.Text = "Wind Speed:"; //Wind speed output TextBlock lblWind = new TextBlock(); lblWind.VerticalAlignment = VerticalAlignment.Top; lblWind.HorizontalAlignment = HorizontalAlignment.Left; lblWind.FontSize = 22; lblWind.Margin = new Thickness(419, 191, 0, 0); lblWind.Text = forecast.WindSpeed + " km/h"; lblWind.FontStyle = FontStyles.Italic; lblWind.Foreground = (forecast.Equals(maxWindObj) && fc.Count > 1) ? Brushes.Red : Brushes.White; //Humidity nv TextBlock nvHumidity = new TextBlock(); nvHumidity.VerticalAlignment = VerticalAlignment.Top; nvHumidity.HorizontalAlignment = HorizontalAlignment.Left; nvHumidity.FontSize = 22; nvHumidity.Margin = new Thickness(98, 222, 0, 0); nvHumidity.Text = "Humidity:"; //Humidity output TextBlock lblHumidity = new TextBlock(); lblHumidity.VerticalAlignment = VerticalAlignment.Top; lblHumidity.HorizontalAlignment = HorizontalAlignment.Left; lblHumidity.FontSize = 22; lblHumidity.Margin = new Thickness(419, 222, 0, 0); lblHumidity.Text = forecast.Humidity + " %"; lblHumidity.FontStyle = FontStyles.Italic; lblHumidity.Foreground = (forecast.Equals(maxHumidityObj) && fc.Count > 1) ? Brushes.Red : Brushes.White; //Precipitation nv TextBlock nvPrecipitation = new TextBlock(); nvPrecipitation.VerticalAlignment = VerticalAlignment.Top; nvPrecipitation.HorizontalAlignment = HorizontalAlignment.Left; nvPrecipitation.FontSize = 22; nvPrecipitation.Margin = new Thickness(98, 253, 0, 0); nvPrecipitation.Text = "Precipitation:"; //Precipitation output TextBlock lblPrecipitation = new TextBlock(); lblPrecipitation.VerticalAlignment = VerticalAlignment.Top; lblPrecipitation.HorizontalAlignment = HorizontalAlignment.Left; lblPrecipitation.FontSize = 22; lblPrecipitation.Margin = new Thickness(419, 253, 0, 0); lblPrecipitation.Text = forecast.Precipitation + " %"; lblPrecipitation.FontStyle = FontStyles.Italic; lblPrecipitation.Foreground = (forecast.Equals(maxPrecipObj) && fc.Count > 1) ? Brushes.Red : Brushes.White; //Edit button Button btnEdit = new Button(); if (user.UserType == UserType.Forecaster) { btnEdit.VerticalAlignment = VerticalAlignment.Top; btnEdit.HorizontalAlignment = HorizontalAlignment.Left; btnEdit.FontSize = 22; btnEdit.Padding = new Thickness(10, 10, 10, 10); btnEdit.Margin = new Thickness(419, 10, 0, 0); btnEdit.Height = double.NaN; btnEdit.Content = "Edit Forecast"; btnEdit.Name = "btnEdit" + forecast.CityID + "_" + forecast.ForecastDate.ToShortDateString().Replace('/', '_'); btnEdit.Click += BtnEdit_Click; btnEdit.Foreground = new SolidColorBrush(Colors.White); btnEdit.Background = new SolidColorBrush(Color.FromArgb(51, 0, 0, 0)); } //Adding controls to UI grid.Children.Add(lblCity); grid.Children.Add(lblDate); grid.Children.Add(nvDate); grid.Children.Add(lblMin); grid.Children.Add(nvMin); grid.Children.Add(lblMax); grid.Children.Add(nvMax); grid.Children.Add(lblWind); grid.Children.Add(nvWind); grid.Children.Add(lblHumidity); grid.Children.Add(nvHumidity); grid.Children.Add(lblPrecipitation); grid.Children.Add(nvPrecipitation); if (user.UserType == UserType.Forecaster) { grid.Children.Add(btnEdit); } stackPanel.Children.Add(card); } #endregion #region Make card for each city with no forecast foreach (City c in nm) { //Make card MaterialDesignThemes.Wpf.Card card = new MaterialDesignThemes.Wpf.Card(); card.Background = new SolidColorBrush(Color.FromArgb(51, 0, 0, 0)); card.Foreground = new SolidColorBrush(Colors.White); card.Margin = new Thickness(10); card.Padding = new Thickness(10, 10, 0, 50); Grid grid = new Grid(); grid.Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)); card.Content = grid; //City output TextBlock lblCity = new TextBlock(); lblCity.VerticalAlignment = VerticalAlignment.Top; lblCity.HorizontalAlignment = HorizontalAlignment.Left; lblCity.FontSize = 28; lblCity.Margin = new Thickness(10, 10, 0, 0); lblCity.TextAlignment = TextAlignment.Center; lblCity.Text = c.ToString(); //No forecast message TextBlock nvNoForecast = new TextBlock(); nvNoForecast.VerticalAlignment = VerticalAlignment.Top; nvNoForecast.HorizontalAlignment = HorizontalAlignment.Left; nvNoForecast.FontSize = 22; nvNoForecast.Margin = new Thickness(98, 97, 0, 0); nvNoForecast.Text = "No forecast for " + date.ToLongDateString(); //Add controls to UI grid.Children.Add(lblCity); grid.Children.Add(nvNoForecast); stackPanel.Children.Add(card); } #endregion if (user.UserType == UserType.Forecaster && writeReport==System.Windows.MessageBoxResult.Yes) { writeForecastToFile(fileTimeStamp, dt, fc, nm); } dt = dt.AddDays(1); Console.WriteLine(""); } tbctrlForecasts.SelectedIndex = 0; if (user.UserType == UserType.Forecaster && writeReport == System.Windows.MessageBoxResult.Yes) { MessageBox.Show("Report saved as Report - " + fileTimeStamp + ".txt"); } }
private void DoughnutChart() //Cursos { Dictionary <string, object> datosQuery = CodigoDeAdomd1Dimension(@"SELECT NON EMPTY { [Measures].[Hecho Inscripcion Count] } ON COLUMNS, NON EMPTY { ([Dim Fecha].[Fecha Hora].[Fecha Hora].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [CuboInscripcion] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); int width = 350; int height = 250; PointLabel = ChartPoint => string.Format("({1:P})", ChartPoint.Y, ChartPoint.Participation); PieChart pc = new PieChart(); int contador = 0; List <string> listaNombres = (List <string>)datosQuery["listaNombres"]; var ValoresPie = new PieSeries[listaNombres.Count]; foreach (var cv in (List <double>)datosQuery["listaValores"]) { ValoresPie[contador] = new PieSeries { Title = listaNombres.ElementAt(contador), Values = new ChartValues <double>() { cv }, LabelPoint = PointLabel, DataLabels = true }; contador++; } SeriesCollection sc = new SeriesCollection(); sc.AddRange(ValoresPie); pc.Series = sc; pc.InnerRadius = 100; pc.LegendLocation = LegendLocation.Right; pc.Width = 280; pc.Height = 80; System.Windows.Thickness margin = new Thickness(); margin.Left = 10; margin.Top = 100; pc.Margin = margin; pc.VerticalAlignment = VerticalAlignment.Top; pc.HorizontalAlignment = HorizontalAlignment.Left; MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); margin.Left = 923; margin.Top = 400; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = width; crd.Height = height; Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Horarios Mas Concurridos"; lbl.HorizontalAlignment = HorizontalAlignment.Center; //System.Windows.Thickness margin = new Thickness(); //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); grd.Children.Add(pc); crd.Content = grd; //crd.Content = pc; //crd.Padding = padding; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; crd.Uid = "dcWEBA"; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
/// <summary> /// Card create method, XAML /// </summary> public void cardAdapter() { foreach (RecipeModel model in rootModel.results) { // Create Card MaterialDesignThemes.Wpf.Card card = new MaterialDesignThemes.Wpf.Card { Width = 200, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(10), }; wrap.Children.Add(card); // Create Grid Grid grid = new Grid(); grid.Height = 288; RowDefinition row1 = new RowDefinition(); RowDefinition row2 = new RowDefinition(); RowDefinition row3 = new RowDefinition(); row1.Height = new GridLength(140); row2.Height = new GridLength(1, GridUnitType.Star); row3.Height = new GridLength(1, GridUnitType.Auto); grid.RowDefinitions.Add(row1); grid.RowDefinitions.Add(row2); grid.RowDefinitions.Add(row3); card.Content = grid; //Create image Image image = new Image(); BitmapImage bitmap = new BitmapImage(); bitmap.BeginInit(); if (string.IsNullOrWhiteSpace(model.thumbnail)) { bitmap.UriSource = new Uri("background.jpg", UriKind.Relative); } else { bitmap.UriSource = new Uri(model.thumbnail, UriKind.Absolute); } bitmap.EndInit(); image.Stretch = Stretch.UniformToFill; image.Source = bitmap; image.Height = 140; grid.Children.Add(image); // Create Button Button button = new Button { HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(0, 0, 16, -20) }; Style style = this.FindResource("MaterialDesignFloatingActionMiniAccentButton") as Style; button.Style = style; button.Foreground = new SolidColorBrush(Color.FromRgb(225, 225, 225)); button.Background = new SolidColorBrush(Color.FromRgb(77, 41, 145)); button.BorderBrush = new SolidColorBrush(Color.FromRgb(225, 225, 225)); MaterialDesignThemes.Wpf.PackIcon icon = new MaterialDesignThemes.Wpf.PackIcon(); icon.Kind = MaterialDesignThemes.Wpf.PackIconKind.Food; button.Content = icon; Grid.SetRow(button, 0); grid.Children.Add(button); StackPanel stackPanel = new StackPanel(); stackPanel.Margin = new Thickness(8, 24, 8, 0); Grid.SetRow(stackPanel, 1); grid.Children.Add(stackPanel); TextBlock textBlock1 = new TextBlock { FontWeight = FontWeights.Bold, Text = model.title, }; stackPanel.Children.Add(textBlock1); TextBlock textBlock2 = new TextBlock { Text = model.ingredients, VerticalAlignment = VerticalAlignment.Center, TextWrapping = TextWrapping.Wrap }; stackPanel.Children.Add(textBlock2); StackPanel stackPanel2 = new StackPanel { HorizontalAlignment = HorizontalAlignment.Right, Orientation = Orientation.Horizontal, Margin = new Thickness(8), }; Grid.SetRow(stackPanel2, 2); grid.Children.Add(stackPanel2); Button buttonMore = new Button(); Style style2 = this.FindResource("MaterialDesignRaisedButton") as Style; buttonMore.Style = style2; buttonMore.Height = 35; buttonMore.FontSize = 11; buttonMore.Content = "See more"; buttonMore.Click += new RoutedEventHandler(btn_Click); buttonMore.Tag = model.href; stackPanel2.Children.Add(buttonMore); } }
async void installModpack_click(object sender, RoutedEventArgs e, string card, string modpackName) { MaterialDesignThemes.Wpf.Card actual = (MaterialDesignThemes.Wpf.Card)modpacksContainer.FindName(card); await MaterialDesignThemes.Wpf.DialogHost.Show(new Dialogs.InstallModpack(modpackName), "RootDialog", null, ExtendedClosingEventHandler); }
public void AlumnosPorMesLineChart() // inscripciones { Dictionary <string, object> datosQuery = CodigoDeAdomd1Dimension(@"SELECT NON EMPTY { [Measures].[Hecho Inscripcion Count] } ON COLUMNS, NON EMPTY ORDER( ([Dim Fecha].[Fecha Mes].[Fecha Mes].ALLMEMBERS ), [Dim Fecha].[Fecha Mes].CurrentMember.MEMBERValue, ASC) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [CuboInscripcion] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); Func <double, string> yFormateador; yFormateador = value => value.ToString("N"); SeriesCollection sCollection = new SeriesCollection(); List <string> labels = (List <string>)datosQuery["listaNombres"]; LiveCharts.Wpf.Axis axisY = new LiveCharts.Wpf.Axis(); axisY.Title = (string)datosQuery["tituloY"]; axisY.LabelFormatter = yFormateador; LiveCharts.Wpf.Axis axisX = new LiveCharts.Wpf.Axis(); axisX.Title = (string)datosQuery["tituloX"]; axisX.Labels = labels; ChartValues <double> myChartValues = new ChartValues <double>(); List <double> listaValores = (List <double>)datosQuery["listaValores"]; foreach (double value in listaValores) { myChartValues.Add(value); } sCollection = new SeriesCollection { new LineSeries { Title = "Inscripciones", Values = myChartValues } }; Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Inscripciones por mes"; lbl.HorizontalAlignment = HorizontalAlignment.Center; //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Series = sCollection; cartesianChart.Tag = "Inscripciones por mes"; cartesianChart.LegendLocation = LegendLocation.Right; cartesianChart.Height = 168; cartesianChart.VerticalAlignment = VerticalAlignment.Center; cartesianChart.AxisX.Add(axisX); cartesianChart.AxisY.Add(axisY); MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); System.Windows.Thickness margin = new Thickness(); margin.Left = 105; margin.Top = 86; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = 800; crd.Height = 225; crd.Tag = "Inscripciones por mes"; grd.Children.Add(cartesianChart); crd.Content = grd; //crd.Content = cartesianChart; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
public void CursosMasBaratosPieChart() //analisis de inscripciones { Dictionary <string, object> datosQuery = CodigoDeAdomd1Dimension(@"SELECT NON EMPTY { [Measures].[Metrica Pago] } ON COLUMNS, NON EMPTY { ([Dim Curso].[Curso Descripcion].[Curso Descripcion].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [CuboInscripcion] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); int width = 350; int height = 300; PointLabel = ChartPoint => string.Format("({1:P})", ChartPoint.Y, ChartPoint.Participation); PieChart pc = new PieChart(); int contador = 0; List <string> listaNombres = (List <string>)datosQuery["listaNombres"]; var ValoresPie = new PieSeries[listaNombres.Count]; foreach (var cv in (List <double>)datosQuery["listaValores"]) { ValoresPie[contador] = new PieSeries { Title = listaNombres.ElementAt(contador), Values = new ChartValues <double>() { cv }, LabelPoint = PointLabel, DataLabels = true }; contador++; } SeriesCollection sc = new SeriesCollection(); sc.AddRange(ValoresPie); pc.LegendLocation = LegendLocation.Bottom; pc.Series = sc; pc.Width = width; pc.Height = height; object tmp = pc.ChartLegend; Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Curso mas barato"; lbl.HorizontalAlignment = HorizontalAlignment.Center; System.Windows.Thickness margin = new Thickness(); margin.Top = 20; pc.Margin = margin; //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); //System.Windows.Thickness margin = new Thickness(); margin.Left = 923; margin.Top = 86; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = width; crd.Height = height; //crd.Tag = "Utilidades por curso"; grd.Children.Add(pc); crd.Content = grd; //crd.Content = pc; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
private void TendeciaAlumnosXDocentesBarra() //Inscripciones { Dictionary <string, object> datosQuery = CodigoDeAdomd1Dimension(@" SELECT NON EMPTY { [Measures].[Hecho Inscripcion Count] } ON COLUMNS, NON EMPTY { ([Dim Profesor].[Porfesor Nombre].[Porfesor Nombre].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [CuboInscripcion] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"); SeriesCollection SeriesCollectionc; List <string> Labelsc = (List <string>)datosQuery["listaNombres"]; Func <double, string> Formatter = value => value.ToString("N"); LiveCharts.Wpf.Axis axisY = new LiveCharts.Wpf.Axis(); axisY.Title = (string)datosQuery["tituloY"]; axisY.LabelFormatter = Formatter; LiveCharts.Wpf.Axis axisX = new LiveCharts.Wpf.Axis(); axisX.Title = (string)datosQuery["tituloX"]; axisX.Labels = Labelsc; ChartValues <double> myChartValues = new ChartValues <double>(); List <double> listaValores = (List <double>)datosQuery["listaValores"]; foreach (double value in listaValores) { myChartValues.Add(value); } SeriesCollectionc = new SeriesCollection { new ColumnSeries { Values = myChartValues } }; Grid grd = new Grid(); Label lbl = new Label(); lbl.Content = "Tendencia de Alumnos Por Docentes"; lbl.HorizontalAlignment = HorizontalAlignment.Center; //MaterialDesignThemes.Wpf.MaterialDesignFontExtension font = new MaterialDesignThemes.Wpf.MaterialDesignFontExtension(); //lbl.Style = font.; lbl.FontSize = fontSizeConst; grd.Children.Add(lbl); CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Series = SeriesCollectionc; cartesianChart.LegendLocation = LegendLocation.Right; cartesianChart.Height = 250; cartesianChart.VerticalAlignment = VerticalAlignment.Center; cartesianChart.AxisX.Add(axisX); cartesianChart.AxisY.Add(axisY); MaterialDesignThemes.Wpf.Card crd = new MaterialDesignThemes.Wpf.Card(); System.Windows.Thickness margin = new Thickness(); margin.Left = 105; margin.Top = 350; margin.Right = 0; margin.Bottom = 0; crd.Margin = margin; crd.Width = 800; crd.Height = 300; grd.Children.Add(cartesianChart); crd.Content = grd; //crd.Content = cartesianChart; crd.HorizontalAlignment = HorizontalAlignment.Left; crd.VerticalAlignment = VerticalAlignment.Top; grdMain.Children.Add(crd); currentElements.Add(crd); DataContext = this; }
protected void CreateModpackCard(string name, string description) { var card = new MaterialDesignThemes.Wpf.Card(); card.Name = "card" + name.Replace(" ", ""); try { modpacksContainer.RegisterName(card.Name, card); } catch (Exception e) { modpacksContainer.UnregisterName(card.Name); modpacksContainer.RegisterName(card.Name, card); } card.Height = 320; card.Width = 300; card.Margin = new Thickness(4); card.HorizontalAlignment = HorizontalAlignment.Left; var insiderStackPanel = new StackPanel(); card.Content = insiderStackPanel; //INSIDE STACKPANEL Style buttonstyle = Application.Current.FindResource("MaterialDesignFloatingActionMiniAccentButton") as Style; var fullscreenbutton = new Button(); fullscreenbutton.ToolTip = "Fullscreen"; var iconpackfullscreen = new MaterialDesignThemes.Wpf.PackIcon(); iconpackfullscreen.Kind = MaterialDesignThemes.Wpf.PackIconKind.Fullscreen; fullscreenbutton.Content = iconpackfullscreen; fullscreenbutton.Style = buttonstyle; fullscreenbutton.HorizontalAlignment = HorizontalAlignment.Right; fullscreenbutton.VerticalAlignment = VerticalAlignment.Bottom; fullscreenbutton.Margin = new Thickness(0, 0, 16, -130); Panel.SetZIndex(fullscreenbutton, 10); fullscreenbutton.Click += new RoutedEventHandler((sender, e) => fullscreen_click(this, e, card.Name, name)); var sharebutton = new Button(); sharebutton.ToolTip = "Share"; var iconpackshare = new MaterialDesignThemes.Wpf.PackIcon(); iconpackshare.Kind = MaterialDesignThemes.Wpf.PackIconKind.ShareVariant; sharebutton.Content = iconpackshare; sharebutton.Style = buttonstyle; sharebutton.HorizontalAlignment = HorizontalAlignment.Right; sharebutton.VerticalAlignment = VerticalAlignment.Bottom; sharebutton.Margin = new Thickness(0, 0, 66, -130); Panel.SetZIndex(sharebutton, 10); insiderStackPanel.Children.Add(fullscreenbutton); insiderStackPanel.Children.Add(sharebutton); var image = new Image(); image.Source = new BitmapImage(new Uri(@"/Images/modpacks.jpg", UriKind.Relative)); image.Stretch = Stretch.Fill; image.Width = 300; image.Height = 120; insiderStackPanel.Children.Add(image); var title = new Label(); title.FontWeight = FontWeights.ExtraBold; title.Content = name; title.Margin = new Thickness(0, 10, 0, 0); title.FontSize = 15; title.HorizontalAlignment = HorizontalAlignment.Center; insiderStackPanel.Children.Add(title); var scrollviewer = new ScrollViewer(); scrollviewer.Height = 70; var textblock = new TextBlock(); textblock.TextWrapping = TextWrapping.Wrap; textblock.Text = description; scrollviewer.Content = textblock; insiderStackPanel.Children.Add(scrollviewer); var ratingStackPanel = new StackPanel(); ratingStackPanel.Orientation = Orientation.Horizontal; ratingStackPanel.HorizontalAlignment = HorizontalAlignment.Center; var ratingtitle = new Label(); ratingtitle.VerticalAlignment = VerticalAlignment.Center; ratingtitle.Content = "Rate this modpack"; var ratingbar = new MaterialDesignThemes.Wpf.RatingBar(); ratingbar.Margin = new Thickness(10); ratingStackPanel.Children.Add(ratingtitle); ratingStackPanel.Children.Add(ratingbar); insiderStackPanel.Children.Add(ratingStackPanel); var buttonStackPanel = new StackPanel(); buttonStackPanel.Orientation = Orientation.Horizontal; var button1 = new Button(); var button2 = new Button(); var button3 = new Button(); button1.Foreground = new SolidColorBrush(Colors.White); button2.Foreground = new SolidColorBrush(Colors.White); button3.Foreground = new SolidColorBrush(Colors.White); button1.Margin = new Thickness(15, 0, 3, 0); button3.Margin = new Thickness(3, 0, 0, 0); button1.Content = "Install"; button2.Content = "View Mods"; button3.Content = "Website"; buttonStackPanel.Children.Add(button1); buttonStackPanel.Children.Add(button2); buttonStackPanel.Children.Add(button3); button1.Click += new RoutedEventHandler((sender, e) => installModpack_click(this, e, card.Name, name)); button2.Click += new RoutedEventHandler((sender, e) => mods_click(this, e, card.Name, name)); insiderStackPanel.Children.Add(buttonStackPanel); modpacksContainer.Children.Add(card); }
public void RefreshDesign () { m_Grid.Children.Clear (); // Result - Property // Propery (row 0) // Gadget Name var gadgetName = new TextBlock () { Padding = new Thickness (2), FontWeight = FontWeights.SemiBold, Text = Model.ControlModel.GadgetName, }; gadgetName.SetValue (Grid.ColumnProperty, 0); // col 0 // Gadget Date var date = new TextBlock () { Padding = new Thickness (2), FontWeight = FontWeights.SemiBold, Text = Model.ControlModel.Date.ToString ("dd-MMM-yy", CultureInfo.InvariantCulture), HorizontalAlignment = HorizontalAlignment.Right, }; date.SetValue (Grid.ColumnProperty, 1); // col 1 var gridTop = new Grid (); gridTop.ColumnDefinitions.Add (new ColumnDefinition () { Width = new GridLength (1, GridUnitType.Star) }); // col 0 Info gridTop.ColumnDefinitions.Add (new ColumnDefinition () { Width = new GridLength (1, GridUnitType.Star) }); // col 1 Date gridTop.SetValue (Grid.RowProperty, 0); // row 0 gridTop.Children.Add (gadgetName); // col 0 gridTop.Children.Add (date); // col 1 // description var description = new TextBox () { Margin = new Thickness (3), Padding = new Thickness (3), MaxWidth = 400, MaxHeight = 100, TextWrapping = TextWrapping.Wrap, TextAlignment = TextAlignment.Center, VerticalAlignment = VerticalAlignment.Top, VerticalScrollBarVisibility = ScrollBarVisibility.Auto, Text = Model.ControlModel.Description, }; description.SetValue (Grid.RowProperty, 1); // row 1 var gridCard = new Grid (); m_Grid.RowDefinitions.Add (new RowDefinition () { Height = new GridLength (1, GridUnitType.Auto) }); // row 0 m_Grid.RowDefinitions.Add (new RowDefinition () { Height = new GridLength (1, GridUnitType.Auto) }); // row 1 gridCard.Children.Add (gridTop); gridCard.Children.Add (description); var card = new MaterialDesignThemes.Wpf.Card { Margin = new Thickness (1, 0, 1, 10), Padding = new Thickness (2), HorizontalAlignment = HorizontalAlignment.Stretch, Content = gridCard, }; card.SetValue (Grid.RowProperty, 0); // row 0 m_Grid.Children.Add (card); // row 0 // Result - Registration // Test (row 1 ) var grid1 = new Grid () { HorizontalAlignment = HorizontalAlignment.Stretch }; grid1.ColumnDefinitions.Add (new ColumnDefinition () { Width = new GridLength (1, GridUnitType.Star) }); // col 0 Result Test grid1.ColumnDefinitions.Add (new ColumnDefinition () { Width = new GridLength (1, GridUnitType.Auto) }); // col 1 Result - Registration grid1.SetValue (Grid.RowProperty, 1); // row 1 m_Grid.Children.Add (grid1); // row 1 #region Test List // Test col 0 // TestList var gadgets = new Collection<GadgetTest> (); Model.ControlModel.RequestContent (gadgets); var testInfo = new TextBlock { FontWeight = FontWeights.SemiBold, Text = $"test list [{gadgets.Count}]", }; var testStack = new StackPanel (); testStack.SetValue (Grid.ColumnProperty, 0); // col 0 testStack.Children.Add (testInfo); grid1.Children.Add (testStack); // col 0 string itemTemplate = @" <DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' xmlns:converters='clr-namespace:rr.Library.Converter;assembly=rr.Library.Converter' > <DataTemplate.Resources> <converters:TCollectionToBitmapImageConverter x:Key='CollectionToBitmapImageConverter' /> </DataTemplate.Resources> <StackPanel> <StackPanel Orientation='Horizontal'> <Image Width='16' Height='16' ToolTip='{Binding Material}' Source='{Binding GadgetImage, Converter={StaticResource CollectionToBitmapImageConverter}}' /> <ContentControl Visibility='{Binding ContentTestVisibility}' Style='{DynamicResource GadgetTestMiniIcon}' /> <ContentControl Visibility='{Binding ContentTargetVisibility}' Style='{DynamicResource GadgetTargetMiniIcon}' /> <TextBlock Margin='5 0 0 0' Text='{Binding GadgetName}' FontWeight='Bold' Foreground='DarkBlue' VerticalAlignment='Center' /> </StackPanel> <TextBox FontSize='10px' IsReadOnly='true' MaxWidth='400' TextWrapping='Wrap' Text='{Binding Description}' /> <ItemsControl Margin='10 5 0 0' ItemsSource='{Binding ContentNamesFull}' /> </StackPanel> </DataTemplate>" ; using (var sr = new System.IO.MemoryStream (System.Text.Encoding.UTF8.GetBytes (itemTemplate))) { var testList = new ListBox () { Margin = new Thickness (0, 5, 0, 0), ItemsSource = gadgets, HorizontalAlignment = HorizontalAlignment.Left, ItemTemplate = System.Windows.Markup.XamlReader.Load (sr) as DataTemplate, }; var scroll = new ScrollViewer () { Margin = new Thickness (0, 0, 10, 0), Height = 230, HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled, VerticalScrollBarVisibility = ScrollBarVisibility.Visible, Padding = new Thickness (5), Content = testList }; testStack.Children.Add (scroll); } #endregion #region Registration // Registration col 1 var component = TActionComponent.Create (Server.Models.Infrastructure.TCategory.Registration); Model.ControlModel.RequestContent (component.Models.GadgetRegistrationModel); var componentControlModel = Registration.TComponentControlModel.CreateDefault; componentControlModel.SelectModel (component); var componentControl = new Registration.TComponentDisplayControl () { Model = componentControlModel, HorizontalAlignment = HorizontalAlignment.Right, }; componentControl.SetValue (Grid.ColumnProperty, 1); // col 1 grid1.Children.Add (componentControl); // col 1 #endregion }