//set image into screen private void InitNoQuestion() { this.listLabelQuestion = new List <Label>(); this.listImage = new List <Image>(); for (int i = 0; i < 6; i++) { Image image = new Image(); Viewbox viewBox = new Viewbox(); Label label = new Label() { Content = "Câu " + (i + 1), Foreground = Brushes.White }; label.MouseDoubleClick += Label_MouseDoubleClick; this.listLabelQuestion.Add(label); this.listImage.Add(image); if (i == 5) { label.Content = "Từ khóa"; } viewBox.Child = label; MediaAct.Instance.Upload(image, "Obstacles_BoxNumberImage.png"); image.SetValue(Grid.RowProperty, i); image.SetValue(Grid.ColumnProperty, 1); viewBox.SetValue(Grid.RowProperty, i); viewBox.SetValue(Grid.ColumnProperty, 1); grdNo.Children.Add(image); grdNo.Children.Add(viewBox); } }
public static void SetButton(Grid grid, Button button, bool isMainGrid, int columnCount, ref int useRowIndex, ref int useColumnIndex) { var viewBox = new Viewbox(); viewBox.Stretch = Stretch.Uniform; viewBox.Child = button; grid.Children.Add(viewBox); viewBox.SetValue(Grid.RowProperty, useRowIndex); viewBox.SetValue(Grid.ColumnProperty, useColumnIndex); var span = isMainGrid ? _mainButtonSpan: _subButtonSpan; var whiteSpaceSpan = isMainGrid ? _mainWhiteSpaceSpan : _subWhiteSpaceSpan; viewBox.SetValue(Grid.ColumnSpanProperty, 2 * span); if (isMainGrid) { button.Width = 215; button.Height = 193; } else { button.Width = 136; button.Height = 174; } useColumnIndex = useColumnIndex + 2 * span + 2 * whiteSpaceSpan; if (useColumnIndex >= columnCount) { useRowIndex++; useColumnIndex = 0; } }
public MainWindow() { InitializeComponent(); int rowAmount = 7; int columnAmount = 5; for (int i = 0; i < rowAmount; i++) { mainGrid.RowDefinitions.Add(new RowDefinition()); } for (int i = 0; i < columnAmount; i++) { mainGrid.ColumnDefinitions.Add(new ColumnDefinition()); } mainGrid.Children.Add(inputView); mainGrid.Children.Add(outputView); inputView.Child = inputScreen; outputView.Child = outputScreen; inputView.SetValue(Grid.RowProperty, 0); inputView.SetValue(Grid.ColumnProperty, 0); inputView.SetValue(Grid.ColumnSpanProperty, 5); outputView.SetValue(Grid.RowProperty, 1); outputView.SetValue(Grid.ColumnProperty, 0); outputView.SetValue(Grid.ColumnSpanProperty, 5); string[,] buttonContent = new string[, ] { { "^", "√", "(", ")", "Exit" }, { "7", "8", "9", "DEL", "AC" }, { "4", "5", "6", "X", "/" }, { "1", "2", "3", "+", "-" }, { "0", ".", "EXP", "(-)", "EXE" } }; for (int i = 0; i < buttonContent.GetLength(0); i++) { for (int j = 0; j < buttonContent.GetLength(1); j++) { Button btn = new Button { Content = buttonContent[i, j], }; btn.SetValue(Grid.RowProperty, i + 2); btn.SetValue(Grid.ColumnProperty, j); btn.Click += new RoutedEventHandler(Button_Clicked); mainGrid.Children.Add(btn); } } }
void InitEW() { for (int i = 0; i < numberOfStudent; i++) { Viewbox viewboxStudentName = new Viewbox(); TextBlock txtBlockStudentName = new TextBlock { FontFamily = new FontFamily("Open Sans"), Foreground = Brushes.Black, HorizontalAlignment = HorizontalAlignment.Left }; viewboxStudentName.SetValue(Grid.RowProperty, 3 * i + 1); viewboxStudentName.SetValue(Grid.ColumnProperty, 1); viewboxStudentName.Child = txtBlockStudentName; txtBlockStudentNameList.Add(txtBlockStudentName); gridStudentAnswer.Children.Add(viewboxStudentName); Viewbox viewboxStudentAnswer = new Viewbox(); TextBlock txtBlockStudentAnswer = new TextBlock { FontFamily = new FontFamily("Open Sans"), Foreground = Brushes.White }; viewboxStudentAnswer.SetValue(Grid.RowProperty, 3 * i + 2); viewboxStudentAnswer.SetValue(Grid.ColumnProperty, 1); viewboxStudentAnswer.SetValue(Grid.ColumnSpanProperty, 2); viewboxStudentAnswer.Child = txtBlockStudentAnswer; txtBlockStudentAnswerList.Add(txtBlockStudentAnswer); gridStudentAnswer.Children.Add(viewboxStudentAnswer); Viewbox viewboxStudentTime = new Viewbox(); TextBlock txtBlockStudentTime = new TextBlock { FontSize = 40, FontFamily = new FontFamily("Open Sans"), Foreground = Brushes.Black, TextAlignment = TextAlignment.Center }; viewboxStudentTime.SetValue(Grid.RowProperty, 3 * i + 2); viewboxStudentTime.SetValue(Grid.ColumnProperty, 3); txtBlockStudentTimeList.Add(txtBlockStudentTime); viewboxStudentTime.Child = txtBlockStudentTime; gridStudentAnswer.Children.Add(viewboxStudentTime); } mediaAct.Upload(soundTrueAnswer, "Decode_SoundTrueAnswer.mp3"); mediaAct.Upload(soundFalseAnswer, "Decode_SoundFalseAnswer.wav"); mediaAct.Upload(soundHint, "Decode_SoundHint.mp3"); mediaAct.Upload(soundShowMatrix, "Decode_SoundShowMatrix.mp3"); mediaAct.Upload(soundIntro, "Decode_SoundIntro.mp3"); mediaAct.Upload(soundTrueChoose, "Decode_SoundTrueChoose.wav"); mediaAct.Upload(videoAnswer, "Decode_VideoAnswer.mp4"); mediaAct.Upload(videoIntro, "Decode_VideoIntro.mp4"); mediaAct.Upload(videoQuestionStart, "Decode_VideoQuestionStart.mp4"); mediaAct.Upload(videoRule, "Decode_VideoRule.mp4"); mediaAct.Upload(soundBell, "Obstacles_BellSound.mp3"); mediaAct.Upload(eliminateSound, "Obstacles_EliminateSound.mp3"); mediaAct.Upload(soundTrueKey, "Obstacles_TrueKeySound.mp3"); }
/// <summary> /// Loads highscores, truncates at 10, adds scores to grid /// </summary> private void SortScores() { LoadHighscore(); int length = highscores.EntriesAmount(); if (length > 10) { length = 10; } for (int i = 0; i < length; i++) { Viewbox viewbox = new Viewbox(); TextBlock text = new TextBlock(); var rowDefinition = new RowDefinition(); string name = highscores.GetName(i); int score = highscores.GetScore(i); HighScores.RowDefinitions.Add(rowDefinition); viewbox.SetValue(Grid.RowProperty, i); text.Text = name + " - " + score; viewbox.Child = text; HighScores.Children.Add(viewbox); } }
public static void CreateGroup(SchemaView view) { Viewbox Group = new Viewbox(); Group.SetValue(Viewbox.StretchProperty, Stretch.Fill); Canvas workCanvas = (Canvas)view.MainPanel; Canvas g = new Canvas(); Rect r = CalculateBounds(view.SelectionManager.SelectedObjects.Cast <UIElement>().ToList(), workCanvas); Canvas.SetLeft(Group, r.X); Canvas.SetTop(Group, r.Y); Group.Width = g.Width = r.Width; Group.Height = g.Height = r.Height; foreach (FrameworkElement ch in view.SelectionManager.SelectedObjects) { //tool.NotifyObjectDeleted(ch); Vector off = VisualTreeHelper.GetOffset(ch); Canvas.SetLeft(ch, Canvas.GetLeft(ch) - r.X); Canvas.SetTop(ch, Canvas.GetTop(ch) - r.Y); workCanvas.Children.Remove(ch); g.Children.Add(ch); } Group.Child = g; Canvas.SetTop(g, 0); Canvas.SetLeft(g, 0); workCanvas.Children.Add(Group); //tool.NotifyObjectCreated(Group); view.SelectionManager.SelectObject(null); view.MainPanel.InvalidateVisual(); view.SelectionManager.SelectObject(Group); }
/** * Fuegt den Player dem Grid hinzu */ private void AddPlayer() { _gsc = new GreenScreenControl.GreenScreenControl(); _gsc.Width = _sensor.ColorStream.FrameWidth; _gsc.Height = _sensor.ColorStream.FrameHeight; _gsc.Start(_sensor, false); _playerBox = new Viewbox(); _playerBox.Child = _gsc; _playerBox.Stretch = Stretch.Fill; _playerBox.SetValue(Panel.ZIndexProperty, 1); MiniGameGrid.Children.Add(_playerBox); if (_playerSkeleton.Joints[JointType.ShoulderCenter].Position.X < -0.25) { Grid.SetColumn(_playerBox, 1); } else if (_playerSkeleton.Joints[JointType.ShoulderCenter].Position.X > 0.25) { Grid.SetColumn(_playerBox, 3); } else { Grid.SetColumn(_playerBox, 2); } Grid.SetRow(_playerBox, 4); }
private static void AddTextToCanvas(InkAnalysisRoot analysisRoot, Canvas drawingSurface) { //var rect = analysisRoot.BoundingRect; //Rectangle r = new Rectangle(); //r.IsHitTestVisible = false; //r.SetValue(Canvas.LeftProperty, rect.Left); //r.SetValue(Canvas.TopProperty, rect.Top); //r.SetValue(Canvas.WidthProperty, rect.Width); //r.SetValue(Canvas.HeightProperty, rect.Height); //r.Stroke = new SolidColorBrush(canvas.InkPresenter.CopyDefaultDrawingAttributes().Color); //r.StrokeThickness = 1; //drawingSurface.Children.Add(r); //double rotationAngle = Math.Atan2(points[2].Y - points[0].Y, points[2].X - points[0].X); //double rotationAngle = Math.Atan2(analysisRoot.BoundingRect.Height, analysisRoot.BoundingRect.Width); //rotationAngle = -(rotationAngle * 180.0 / Math.PI); var attributes = canvas.InkPresenter.CopyDefaultDrawingAttributes(); var container = new Viewbox(); container.RenderTransformOrigin = new Point(0.5, 0.5); container.IsHitTestVisible = false; container.SetValue(Canvas.LeftProperty, analysisRoot.BoundingRect.Left); container.SetValue(Canvas.TopProperty, analysisRoot.BoundingRect.Top + analysisRoot.BoundingRect.Height); container.Width = analysisRoot.BoundingRect.Width; container.Height = analysisRoot.BoundingRect.Height; //container.RenderTransform = new RotateTransform() { Angle = rotationAngle }; container.Child = new Border() { Child = new TextBlock() { Text = analysisRoot.RecognizedText, IsHitTestVisible = false, Foreground = new SolidColorBrush(attributes.Color) } }; drawingSurface.Children.Add(container); if (RecognitionOccured != null) { RecognitionOccured(null, new RecognitionEventArgs(container) { Description = $"Text '{analysisRoot.RecognizedText}'" }); } }
private void AddEmoji(InkAnalysisInkDrawing drawing, string glyph) { Viewbox vb = new Viewbox(); TextBlock tb = new TextBlock(); vb.SetValue(Canvas.TopProperty, drawing.BoundingRect.Top); vb.SetValue(Canvas.LeftProperty, drawing.BoundingRect.Left); tb.Text = glyph; tb.FontSize = 68; vb.Width = drawing.BoundingRect.Width; vb.Height = drawing.BoundingRect.Height; vb.Child = tb; vb.Stretch = Stretch.Fill; xamloverlay.Children.Add(vb); }
void InitEW() { for (int i = 0; i < 4; i++) { Viewbox viewboxStudentName = new Viewbox(); TextBlock txtBlockStudentName = new TextBlock { FontFamily = new FontFamily("Open Sans"), FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, HorizontalAlignment = HorizontalAlignment.Left }; viewboxStudentName.SetValue(Grid.RowProperty, 3 * i + 1); viewboxStudentName.SetValue(Grid.ColumnProperty, 1); viewboxStudentName.Child = txtBlockStudentName; txtBlockStudentNameList.Add(txtBlockStudentName); gridStudentAnswer.Children.Add(viewboxStudentName); Viewbox viewboxStudentAnswer = new Viewbox(); TextBlock txtBlockStudentAnswer = new TextBlock { FontFamily = new FontFamily("Open Sans"), FontWeight = FontWeights.DemiBold, Foreground = Brushes.White }; viewboxStudentAnswer.SetValue(Grid.RowProperty, 3 * i + 2); viewboxStudentAnswer.SetValue(Grid.ColumnProperty, 1); viewboxStudentAnswer.SetValue(Grid.ColumnSpanProperty, 2); viewboxStudentAnswer.Child = txtBlockStudentAnswer; txtBlockStudentAnswerList.Add(txtBlockStudentAnswer); gridStudentAnswer.Children.Add(viewboxStudentAnswer); Viewbox viewboxStudentTime = new Viewbox(); TextBlock txtBlockStudentTime = new TextBlock { FontSize = 40, FontFamily = new FontFamily("Open Sans"), FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, TextAlignment = TextAlignment.Center }; viewboxStudentTime.SetValue(Grid.RowProperty, 3 * i + 2); viewboxStudentTime.SetValue(Grid.ColumnProperty, 3); txtBlockStudentTimeList.Add(txtBlockStudentTime); viewboxStudentTime.Child = txtBlockStudentTime; gridStudentAnswer.Children.Add(viewboxStudentTime); } mediaAct.Upload(soundTrue, "Accelerate_SoundTrue.mp3"); mediaAct.Upload(soundFalse, "Accelerate_SoundFalse.wav"); mediaAct.Upload(soundIntro, "Accelerate_SoundIntro.mp3"); mediaAct.Upload(videoAnswer, "Accelerate_VideoAnswer.mp4"); mediaAct.Upload(videoIntro, "Accelerate_VideoIntro.mp4"); mediaAct.Upload(videoQuestionStart, "Accelerate_VideoQuestionStart.mp4"); mediaAct.Upload(videoTime, "Accelerate_VideoTime.mp4"); }
private void AddHeart(InkAnalysisInkDrawing drawing) { Viewbox vb = new Viewbox(); TextBlock tb = new TextBlock(); vb.SetValue(Canvas.TopProperty, drawing.BoundingRect.Top); vb.SetValue(Canvas.LeftProperty, drawing.BoundingRect.Left); tb.Foreground = new SolidColorBrush(Colors.Red); tb.FontFamily = new FontFamily("Segoe MDL2 Assets"); tb.Text = "\uE00B"; tb.FontSize = 68; vb.Width = drawing.BoundingRect.Width; vb.Height = drawing.BoundingRect.Height; vb.Child = tb; vb.Stretch = Stretch.Fill; xamloverlay.Children.Add(vb); }
private void DrawCircle(ITriangle triangle) { Point incenter = GetIncenter(triangle); var k = 80.0; System.Windows.Point center = new System.Windows.Point { X = k * incenter.X + 250.0, Y = k * incenter.Y + 100.0 }; double size = 10; //add circle Ellipse circle = new Ellipse() { Width = size, Height = size, Stroke = Brushes.Red }; circle.SetValue(Canvas.LeftProperty, center.X - circle.Width / 2); circle.SetValue(Canvas.TopProperty, center.Y - circle.Height / 2); MainCanvas.Children.Add(circle); //add ID TextBlock triangleId = new TextBlock(); triangleId.Text = triangle.ID.ToString(); triangleId.Foreground = circle.Stroke; Viewbox viewbox = new Viewbox(); viewbox.Visibility = Visibility.Visible; viewbox.Stretch = Stretch.Uniform; viewbox.Child = triangleId; viewbox.Height = circle.Height / 2; viewbox.Width = circle.Width / 2; viewbox.MouseEnter += ViewBoxOnMouseDown; viewbox.SetValue(Canvas.LeftProperty, center.X - viewbox.Width / 2); viewbox.SetValue(Canvas.TopProperty, center.Y - viewbox.Height / 2); MainCanvas.Children.Add(viewbox); }
public void populateMemoryCellsGrid(PRAMModel dataRows) { int rowCount = -1; foreach (KeyValuePair <string, List <dynamic> > kvp in dataRows) { memoryGrid.RowDefinitions.Add(new RowDefinition()); rowCount++; if (memoryGrid.ColumnDefinitions.Count < 1) { memoryGrid.ColumnDefinitions.Add(new ColumnDefinition()); } Viewbox viewBox = new Viewbox(); TextBlock rowName = new TextBlock(); rowName.Margin = new Thickness(7); rowName.Text = kvp.Key; viewBox.SetValue(Grid.ColumnProperty, 0); viewBox.SetValue(Grid.RowProperty, rowCount); viewBox.VerticalAlignment = VerticalAlignment.Center; viewBox.HorizontalAlignment = HorizontalAlignment.Center; viewBox.Child = rowName; memoryGrid.Children.Add(viewBox); memoryRows[kvp.Key] = new List <MemoryCellView>(); while (memoryGrid.ColumnDefinitions.Count < kvp.Value.Count + 1) { memoryGrid.ColumnDefinitions.Add(new ColumnDefinition()); } for (int i = 0; i < kvp.Value.Count; i++) { MemoryCellView memoryCellView = new MemoryCellView(); memoryCellView.Data = kvp.Value[i]; memoryCellView.SetValue(Grid.ColumnProperty, i + 1); memoryCellView.SetValue(Grid.RowProperty, rowCount); memoryGrid.Children.Add(memoryCellView); memoryRows[kvp.Key].Add(memoryCellView); } } }
// Fruit를 생성하여 항목을 배치해주는 메소드이다. private void Add(ref Grid grid, int column, int type) { Viewbox viewbox = new Viewbox() { Height = 100, Width = 100, Stretch = Stretch.UniformToFill, Child = Fruit(type), }; viewbox.SetValue(Grid.ColumnProperty, column); grid.Children.Add(viewbox); }
private void SetupDisplay() { BoardUI <MonkeyBoard> boardUI = BoardPackage.BoardUI; MainBarUI <MonkeyBoard> mainbarUI = BoardPackage.MainBarUI; // maintains aspect ratio Viewbox displayedWindow = new Viewbox(); displayedWindow.StretchDirection = StretchDirection.Both; displayedWindow.Stretch = Stretch.Uniform; Grid displayedGrid = new Grid(); displayedGrid.Height = 680; displayedGrid.Width = 1120; RowDefinition row1 = new RowDefinition(); RowDefinition row2 = new RowDefinition(); row1.Height = new GridLength(50); displayedGrid.RowDefinitions.Add(row1); displayedGrid.RowDefinitions.Add(row2); Viewbox background = new Viewbox(); Image backgroundImage = new Image(); backgroundImage.Source = Images.NatureForest; background.Child = backgroundImage; background.Stretch = Stretch.UniformToFill; background.ClipToBounds = true; background.SetValue(Canvas.ZIndexProperty, -1); // displayed game area Viewbox displayedBoardUI = new Viewbox(); displayedBoardUI.Child = boardUI; displayedBoardUI.Stretch = Stretch.UniformToFill; displayedBoardUI.ClipToBounds = true; Grid.SetRow(background, 0); Grid.SetRowSpan(background, 2); Grid.SetRow(mainbarUI, 0); Grid.SetRow(displayedBoardUI, 1); displayedGrid.Children.Add(background); displayedGrid.Children.Add(mainbarUI); displayedGrid.Children.Add(displayedBoardUI); displayedWindow.Child = displayedGrid; Content = displayedWindow; }
void InitUC() { for (int i = 0; i < numberOfQuestion; i++) { TextBox txtBoxChoosePackQuestion = new TextBox { Background = Brushes.White, Foreground = Brushes.Black, TextAlignment = TextAlignment.Center, Text = "10", FontSize = 20 }; Viewbox viewboxChoosePackQuestion = new Viewbox(); viewboxChoosePackQuestion.SetValue(Grid.ColumnProperty, i); viewboxChoosePackQuestion.SetValue(Grid.RowProperty, 1); viewboxChoosePackQuestion.Child = txtBoxChoosePackQuestion; txtBoxChoosePackQuestionList.Add(txtBoxChoosePackQuestion); gridChooseQuestionPack.Children.Add(viewboxChoosePackQuestion); Viewbox viewboxPackQuestion = new Viewbox(); viewboxPackQuestion.SetValue(Grid.ColumnProperty, i); Button btnPackQuestion = new Button { Background = Brushes.CornflowerBlue, Foreground = Brushes.Black, Content = "Câu hỏi" + (i + 1).ToString(), Uid = i.ToString() }; viewboxPackQuestion.Child = btnPackQuestion; btnPackQuestion.Click += BtnPackQuestion_Click; gridPackQuestion.Children.Add(viewboxPackQuestion); } for (int i = 0; i < numberOfStudent; i++) { Button btnChooseStudent = new Button { Background = Brushes.LightBlue, Foreground = Brushes.Black, Content = "Thí sinh" + (i + 1).ToString(), Uid = i.ToString() }; btnChooseStudent.Click += BtnChooseStudent_Click; Viewbox viewboxChooseStudent = new Viewbox(); viewboxChooseStudent.SetValue(Grid.RowProperty, 2 + i); viewboxChooseStudent.Child = btnChooseStudent; gridChooseStudent.Children.Add(viewboxChooseStudent); btnChooseStudentList.Add(btnChooseStudent); } }
private void GenerarCasillas(int columnas, int filas) { contenedorParejas_Grid.RowDefinitions.Clear(); contenedorParejas_Grid.ColumnDefinitions.Clear(); contenedorParejas_Grid.Children.Clear(); Random rnd = new Random(); for (int i = 0; i < columnas; i++) { ColumnDefinition columna = new ColumnDefinition(); contenedorParejas_Grid.ColumnDefinitions.Add(columna); } for (int j = 0; j < filas; j++) { RowDefinition fila = new RowDefinition(); contenedorParejas_Grid.RowDefinitions.Add(fila); } for (int i = 0; i < columnas; i++) { for (int j = 0; j < filas; j++) { int numero = rnd.Next(0, caracteres.Count); Viewbox v = new Viewbox(); TextBlock t = new TextBlock(); v.Child = t; v.SetValue(Grid.RowProperty, i); v.SetValue(Grid.ColumnProperty, j); t.FontFamily = new FontFamily("Webdings"); t.Text = caracteres[numero]; caracteres.RemoveAt(numero); contenedorParejas_Grid.Children.Add(v); } } }
private void InitView() { Image imageClock = new Image(); MediaAct.Instance.Upload(imageClock, "BoxTime.png"); imageClock.SetValue(Grid.ColumnProperty, 1); grdClock.Children.Add(imageClock); Viewbox viewbox = new Viewbox(); Label timeTick = new Label { Content = "40:00", Foreground = Brushes.White }; timeTick.MouseDoubleClick += TimeTick_MouseDoubleClick; viewbox.Child = timeTick; viewbox.SetValue(Grid.ColumnProperty, 1); grdClock.Children.Add(viewbox); }
public WaferPlot() { Control.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Auto) }); Control.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); Control.Background = System.Windows.Media.Brushes.White; Control.Children.Add(titleText); Control.Children.Add(viewbox); viewbox.SetValue(Grid.RowProperty, 1); viewbox.Child = canvas; viewbox.Stretch = System.Windows.Media.Stretch.Uniform; }
public TestUIWindow(MonkeyBoardUI boardUI, MonkeyMainBarUI mainbarUI) { // sets the title Title = "Monkey Quest Tester"; // sets the icon Uri iconUri = new Uri(@"Resources\Images\MonkeyQuestIcon.ico", UriKind.Relative); Icon = BitmapFrame.Create(iconUri); // sets the default height and width when window first appears Height = 680; Width = 1076; // sets background outside of game area Background = Brushes.Black; // maintains aspect ratio Viewbox displayedWindow = new Viewbox(); displayedWindow.StretchDirection = StretchDirection.Both; displayedWindow.Stretch = Stretch.Uniform; Viewbox background = new Viewbox(); Image backgroundImage = new Image(); backgroundImage.Source = Images.NatureForest; background.Child = backgroundImage; background.Stretch = Stretch.UniformToFill; background.ClipToBounds = true; background.SetValue(Canvas.ZIndexProperty, -1); // displayed game area Viewbox displayedBoardUI = new Viewbox(); displayedBoardUI.Child = boardUI; displayedBoardUI.Stretch = Stretch.UniformToFill; displayedBoardUI.ClipToBounds = true; displayedWindow.Child = displayedBoardUI; Content = displayedWindow; }
private static void OnBusyStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { bool isBusy = (bool)e.NewValue; bool wasBusy = (bool)e.OldValue; if (isBusy == wasBusy) { return; } var hostGridObject = (GetTargetVisual(d) ?? d); Debug.Assert(hostGridObject != null); var hostGrid = hostGridObject as Grid; if (hostGrid == null) { throw new InvalidCastException( string.Format( "The object being attached to must be of type {0}. Try embedding your visual inside a {0} control, and attaching the behavior to the {0} instead.", typeof(Grid).Name)); } if (isBusy) { Debug.Assert(LogicalTreeHelper.FindLogicalNode(hostGrid, "BusyIndicator") == null); bool dimBackground = GetDimBackground(d); var grid = new Grid { Name = "BusyIndicator", Opacity = 0.0 }; if (dimBackground) { grid.Cursor = Cursors.Wait; grid.ForceCursor = true; InputManager.Current.PreProcessInput += OnPreProcessInput; } grid.SetBinding(FrameworkElement.WidthProperty, new Binding("ActualWidth") { Source = hostGrid }); grid.SetBinding(FrameworkElement.HeightProperty, new Binding("ActualHeight") { Source = hostGrid }); for (int i = 1; i <= 3; ++i) { if (i != 2) { grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); } else { grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star), MaxWidth = 120.0 }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star), MaxHeight = 120.0 }); } } var viewbox = new Viewbox { HorizontalAlignment = HorizontalAlignment.Center, Stretch = Stretch.Uniform, StretchDirection = StretchDirection.Both, Child = new CircularProgressBar() }; grid.SetValue(Panel.ZIndexProperty, 1000); grid.SetValue(Grid.RowSpanProperty, Math.Max(1, hostGrid.RowDefinitions.Count)); grid.SetValue(Grid.ColumnSpanProperty, Math.Max(1, hostGrid.ColumnDefinitions.Count)); if (GetAddMargins(d)) { viewbox.SetValue(Grid.RowProperty, 1); viewbox.SetValue(Grid.ColumnProperty, 1); } else { viewbox.SetValue(Grid.RowSpanProperty, 3); viewbox.SetValue(Grid.ColumnSpanProperty, 3); } viewbox.SetValue(Panel.ZIndexProperty, 1); var dimmer = new Rectangle { Name = "Dimmer", Opacity = GetDimmerOpacity(d), Fill = GetDimmerBrush(d), Visibility = (dimBackground ? Visibility.Visible : Visibility.Collapsed) }; dimmer.SetValue(Grid.RowSpanProperty, 3); dimmer.SetValue(Grid.ColumnSpanProperty, 3); dimmer.SetValue(Panel.ZIndexProperty, 0); grid.Children.Add(dimmer); grid.Children.Add(viewbox); grid.BeginAnimation(UIElement.OpacityProperty, new DoubleAnimation(1.0, GetDimTransitionDuration(d))); hostGrid.Children.Add(grid); } else { var grid = (Grid)LogicalTreeHelper.FindLogicalNode(hostGrid, "BusyIndicator"); Debug.Assert(grid != null); if (grid != null) { grid.Name = string.Empty; var fadeOutAnimation = new DoubleAnimation(0.0, GetDimTransitionDuration(d)); fadeOutAnimation.Completed += (sender, args) => OnFadeOutAnimationCompleted(d, hostGrid, grid); grid.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation); } } }
public OrderPanelHeader(OrderViewModel order, double width) { _order = order; this.Width = width; this.SnapsToDevicePixels = true; this.MouseDown += root_MouseDown; this.MouseUp += root_MouseUp; Binding binding; BrushesPair brPair; // кисть заголовка BrushesPair brPairHeader = getHeaderBrushes(); // отступы Thickness rowMargin = new Thickness(0.02 * width, 0, 0.02 * width, 0); // шрифты double fontScale = (double)WpfHelper.GetAppGlobalValue("AppFontScale", 1.0d); double labelFontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrLabelFontSize"); // 0. номер стола и заказа this.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0d, GridUnitType.Star) }); // 1. официант this.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(0.7d, GridUnitType.Star) }); // 2. дата создания заказа и таймер заказа this.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0d, GridUnitType.Star) }); // 0. номер стола и заказа Border brdHdrTableRow = new Border() { BorderBrush = Brushes.DarkBlue }; brdHdrTableRow.SetValue(Grid.RowProperty, 0); brdHdrTableRow.BorderThickness = new Thickness(1, 1, 1, 0); if (brPairHeader != null) { brdHdrTableRow.Background = brPairHeader.Background; brdHdrTableRow.SetValue(TextBlock.ForegroundProperty, brPairHeader.Foreground); } // уголки рамок brdHdrTableRow.CornerRadius = new CornerRadius(0.03 * width, 0.03 * width, 0, 0); Grid grdHdrTableRow = new Grid(); grdHdrTableRow.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(0, GridUnitType.Auto) }); grdHdrTableRow.ColumnDefinitions.Add(new ColumnDefinition()); // стол TextBlock tblTable = new TextBlock() { VerticalAlignment = VerticalAlignment.Center, Margin = rowMargin }; tblTable.SetValue(Grid.ColumnProperty, 0); Run tbTableLabel1 = new Run() { Text = "Стол №: ", FontSize = labelFontSize }; tblTable.Inlines.Add(tbTableLabel1); Run tbTableName = new Run() { FontWeight = FontWeights.Bold }; binding = new Binding("TableName") { Source = _order }; tbTableName.SetBinding(Run.TextProperty, binding); tbTableName.FontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrTableNameFontSize"); tblTable.Inlines.Add(tbTableName); grdHdrTableRow.Children.Add(tblTable); // номер заказа Border brdOrderNumber = new Border(); brdOrderNumber.SetValue(Grid.ColumnProperty, 1); TextBlock tblOrderNumber = new TextBlock() { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = rowMargin }; Run tbTableLabel2 = new Run() { Text = "Заказ №: ", FontSize = labelFontSize }; tblOrderNumber.Inlines.Add(tbTableLabel2); Run tbOrderNumber = new Run() { FontWeight = FontWeights.Bold }; binding = new Binding("Number") { Source = _order }; // , Converter = new IsZeroConverter() tbOrderNumber.SetBinding(Run.TextProperty, binding); tbOrderNumber.FontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrOrderNumberFontSize"); tblOrderNumber.Inlines.Add(tbOrderNumber); brdOrderNumber.Child = tblOrderNumber; grdHdrTableRow.Children.Add(brdOrderNumber); brdHdrTableRow.Child = grdHdrTableRow; this.Children.Add(brdHdrTableRow); // 1. официант Border brdHdrWaiter = new Border() { BorderBrush = Brushes.DarkBlue, BorderThickness = new Thickness(1, 0, 1, 0) }; brdHdrWaiter.SetValue(Grid.RowProperty, 1); if (brPairHeader != null) { brdHdrWaiter.Background = brPairHeader.Background; brdHdrWaiter.SetValue(TextBlock.ForegroundProperty, brPairHeader.Foreground); } TextBlock tbWaiter = new TextBlock() { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Left, TextWrapping = TextWrapping.Wrap, FontWeight = FontWeights.Bold, Margin = new Thickness(0.02 * width, 0, 0.02 * width, 0) }; binding = new Binding("Waiter") { Source = _order }; tbWaiter.SetBinding(TextBlock.TextProperty, binding); tbWaiter.FontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrWaiterNameFontSize"); brdHdrWaiter.Child = tbWaiter; this.Children.Add(brdHdrWaiter); // метка отдела Viewbox vbxDivisionMark = new Viewbox() { HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Top, Stretch = Stretch.Fill, ClipToBounds = true }; vbxDivisionMark.Width = 0.2d * width; vbxDivisionMark.SetValue(Grid.ColumnProperty, 1); vbxDivisionMark.SetValue(Grid.RowProperty, 0); vbxDivisionMark.SetValue(Grid.RowSpanProperty, 2); Polygon divisionMark = new Polygon() { Opacity = 0.7, Points = new PointCollection(new Point[] { new Point(0, 0), new Point(10, 0), new Point(10, 10) }) }; if (!_order.DivisionColorRGB.IsNull()) { divisionMark.Fill = WpfHelper.GetBrushFromRGBString(order.DivisionColorRGB); } vbxDivisionMark.Child = divisionMark; this.Children.Add(vbxDivisionMark); // 2. дата создания заказа и таймер заказа Border brdHdrOrderTime = new Border() { BorderBrush = Brushes.DarkBlue, BorderThickness = new Thickness(1.0d) }; brdHdrOrderTime.SetValue(Grid.RowProperty, 2); if (brPairHeader != null) { brdHdrOrderTime.Background = brPairHeader.Background; brdHdrOrderTime.SetValue(TextBlock.ForegroundProperty, brPairHeader.Foreground); } Grid grdHdrOrderTime = new Grid() { Margin = rowMargin }; grdHdrOrderTime.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(4.0d, GridUnitType.Star) }); grdHdrOrderTime.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(4.0d, GridUnitType.Star) }); // дата создания заказа WrapPanel pnlOrderDate = new WrapPanel() { Orientation = Orientation.Horizontal, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Left }; pnlOrderDate.SetValue(Grid.ColumnProperty, 0); TextBlock tbOrderDateLabel = new TextBlock() { Text = "Создан в: ", FontSize = labelFontSize, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Left }; pnlOrderDate.Children.Add(tbOrderDateLabel); TextBlock tbOrderDate = new TextBlock() { FontWeight = FontWeights.Bold, VerticalAlignment = VerticalAlignment.Center, TextWrapping = TextWrapping.Wrap, Text = _order.CreateDate.ToKDSPanelString() }; tbOrderDate.FontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrOrderCreateDateFontSize"); pnlOrderDate.Children.Add(tbOrderDate); grdHdrOrderTime.Children.Add(pnlOrderDate); // таймер Border brdOrderTimer = new Border() { Padding = new Thickness(5d, 3d, 5d, 3d), Margin = new Thickness(0, 3d, 0, 3d) }; brdOrderTimer.SetValue(Grid.ColumnProperty, 1); // уголки double timerCornerRadius = 0.025 * width; brdOrderTimer.CornerRadius = new CornerRadius(timerCornerRadius, timerCornerRadius, timerCornerRadius, timerCornerRadius); brPair = BrushHelper.AppBrushes["orderHeaderTimer"]; if (brPair != null) { brdOrderTimer.Background = brPair.Background; brdOrderTimer.SetValue(TextBlock.ForegroundProperty, brPair.Foreground); } // панель элементов WrapPanel pnlOrderTimer = new WrapPanel() { Orientation = Orientation.Horizontal, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center }; TextBlock tbOrderTimerLabel = new TextBlock() { Text = "Прошло: ", FontSize = labelFontSize, FontStretch = FontStretches.Condensed }; pnlOrderTimer.Children.Add(tbOrderTimerLabel); TextBlock tbOrderTimer = new TextBlock() { FontWeight = FontWeights.Bold, TextWrapping = TextWrapping.Wrap }; tbOrderTimer.FontSize = fontScale * (double)WpfHelper.GetAppGlobalValue("ordPnlHdrOrderTimerFontSize"); binding = new Binding("WaitingTimerString") { Source = _order }; tbOrderTimer.SetBinding(TextBlock.TextProperty, binding); pnlOrderTimer.Children.Add(tbOrderTimer); brdOrderTimer.Child = pnlOrderTimer; grdHdrOrderTime.Children.Add(brdOrderTimer); brdHdrOrderTime.Child = grdHdrOrderTime; this.Children.Add(brdHdrOrderTime); }
private void Show_Content_For_Portrait(Grid _listview, Vakat v) { string tema = ""; if (Fixed.IsDarkTheme) { tema = "_white"; //dodatak na imena ikonica } Vakat vakat = Year.year.months[DateTime.Now.Month - 1].days[DateTime.Now.Day - 1].vakti[v.rbr]; if (vakat.time.DayOfWeek == DayOfWeek.Friday && vakat.rbr == 2) { vakat.name = "Podne (Džuma)"; //Ako je petak i vakat podna, postavit dzumu } #region ListViewItem ListViewItem _ListViewItem = new ListViewItem { Tag = v, HorizontalContentAlignment = HorizontalAlignment.Stretch, VerticalContentAlignment = VerticalAlignment.Stretch, Padding = new Thickness(6, 0, 6, 0), Margin = new Thickness(6, 0, 6, 0), Opacity = 0, MinHeight = 0, MinWidth = 0, }; #region border line if (vakat.rbr != 5) { if (Fixed.IsDarkTheme) { _ListViewItem.BorderBrush = new SolidColorBrush(Color.FromArgb(18, 255, 255, 255)); } else { _ListViewItem.BorderBrush = new SolidColorBrush(Color.FromArgb(18, 0, 0, 0)); } _ListViewItem.BorderThickness = new Thickness(0, 0, 0, 1); } #endregion _ListViewItem.Tapped += (s, e) => { ListViewItem gr = s as ListViewItem; Vakat vkt = (Vakat)gr.Tag; if (DateTime.Now < vkt.time) { Open_Edit_Panel(vkt); } }; _ListViewItem.Holding += async(s, e) => { PopupMenu menu = new PopupMenu(); ListViewItem gr = s as ListViewItem; Vakat vkt = (Vakat)gr.Tag; e.Handled = true; var pointTransform = ((ListViewItem)s).TransformToVisual(Window.Current.Content); double w = e.GetPosition((ListViewItem)s).X; double h = e.GetPosition((ListViewItem)s).Y; if (e.HoldingState == HoldingState.Started) { menu.Commands.Clear(); #region Alarm if (!Memory.alarmBlocked[vkt.rbr] && !AlarmSkipping.IsSkipped(vkt)) { menu.Commands.Add(new UICommand { Id = vkt, Label = "Preskoči alarm", Invoked = AlarmOff }); } else { menu.Commands.Add(new UICommand { Id = vkt, Label = "Uključi alarm", Invoked = AlarmOn }); } #endregion #region Toast if (!Memory.toastBlocked[vkt.rbr] && !ToastSkipping.IsSkipped(vkt)) { menu.Commands.Add(new UICommand { Id = vkt, Label = "Preskoči notifikaciju", Invoked = ToastOff, }); } else { menu.Commands.Add(new UICommand { Id = vkt, Label = "Uključi notifikaciju", Invoked = ToastOn, }); } #endregion Point screenCoords = new Point(); screenCoords = pointTransform.TransformPoint(new Point(w, h)); await menu.ShowForSelectionAsync(new Rect { X = screenCoords.X, Y = screenCoords.Y }); } }; _ListViewItem.SetValue(Grid.RowProperty, v.rbr); _listview.Children.Add(_ListViewItem); #endregion double dif_bet_date = (v.time - DateTime.Now).TotalSeconds; string toastkey = Notification.Create_Key(v, "toast"); string alarmkey = Notification.Create_Key(v, "alarm"); Vakat current_prayer = Get.Current_Prayer_Time(); Vakat next_prayer = Get.Next_Prayer_Time(); Grid Article_Grid = new Grid { Background = new SolidColorBrush(Colors.White), }; if (Fixed.IsDarkTheme) { Article_Grid.Background = new SolidColorBrush(Colors.Black); } Grid _Grid = new Grid { VerticalAlignment = VerticalAlignment.Center, }; _Grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(3, GridUnitType.Star), }); _Grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(5, GridUnitType.Star), }); _Grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto), }); _Grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto), }); #region 1st column - clock Viewbox clock_Vb = new Viewbox { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(6), Stretch = Stretch.Fill, }; TextBlock clock_TB = new TextBlock { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, FontSize = 44, Text = vakat.time.ToString("HH:mm"), FontFamily = new FontFamily("Segoe UI Semilight"), OpticalMarginAlignment = OpticalMarginAlignment.TrimSideBearings, FontWeight = FontWeights.Light, TextAlignment = TextAlignment.Center, }; if (Fixed.IsDarkTheme) { clock_TB.Foreground = new SolidColorBrush(Colors.DarkGray); } else { clock_TB.Foreground = new SolidColorBrush(Colors.LightGray); } Day yesterday = Year.year.months[DateTime.Now.AddDays(-1).Month - 1].days[DateTime.Now.AddDays(-1).Day - 1]; Day today = Year.year.months[DateTime.Now.AddDays(0).Month - 1].days[DateTime.Now.AddDays(0).Day - 1]; Day tomorow = Year.year.months[DateTime.Now.AddDays(1).Month - 1].days[DateTime.Now.AddDays(1).Day - 1]; if (current_prayer == v || current_prayer == yesterday.vakti[v.rbr] || current_prayer == today.vakti[v.rbr] || current_prayer == tomorow.vakti[v.rbr]) { clock_TB.Foreground = new SolidColorBrush(Color.FromArgb(255, 157, 157, 0)); clock_TB.FontWeight = FontWeights.Normal; } clock_Vb.SetValue(Grid.ColumnProperty, 0); clock_Vb.Child = clock_TB; _Grid.Children.Add(clock_Vb); #endregion #region 2nd column - title and subtitle Grid center_Grid = new Grid { VerticalAlignment = VerticalAlignment.Center, }; center_Grid.SetValue(Grid.ColumnProperty, 1); StackPanel center_SP = new StackPanel { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; TextBlock title_TB = new TextBlock { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom, FontSize = 22, Text = vakat.name.ToLower(), FontFamily = new FontFamily("Segoe UI Semilight"), }; center_SP.Children.Add(title_TB); TextBlock subtitle_TB = new TextBlock { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom, FontSize = 22, Text = (int)(dif_bet_date / 3600) + ":" + ((int)((dif_bet_date / 60) % 60)).ToString("00") + ":" + ((int)(dif_bet_date % 60)).ToString("00"), Foreground = new SolidColorBrush(Colors.LightGray), Opacity = 0, FontFamily = new FontFamily("Segoe UI Semilight"), }; if (Fixed.IsDarkTheme) { subtitle_TB.Foreground = new SolidColorBrush(Colors.DarkGray); } else { subtitle_TB.Foreground = new SolidColorBrush(Colors.LightGray); } if (next_prayer == v) { center_SP.Children.Add(subtitle_TB); subtitle_TB.Opacity = 1; DispatcherTimer dt = new DispatcherTimer { Interval = new TimeSpan(0, 0, 1) }; dt.Tick += (s, e) => { if (Get.Difference_Between_Times(DateTime.Now, v.time) < 0) { dt.Stop(); Frame.Navigate(typeof(MainPage)); } dif_bet_date = (v.time - DateTime.Now).TotalSeconds; subtitle_TB.Text = (int)(dif_bet_date / 3600) + ":" + ((int)((dif_bet_date / 60) % 60)).ToString("00") + ":" + ((int)(dif_bet_date % 60)).ToString("00"); }; dt.Start(); } else { subtitle_TB.Text = "-:--:--"; } center_Grid.Children.Add(center_SP); _Grid.Children.Add(center_Grid); #endregion #region 3rd column - alarm icon Image alarm_Image = new Image { Width = 32, Height = 32, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(3, 0, 3, 0), Opacity = 0, Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/alarm" + tema + ".png")), }; alarm_Image.SetValue(Grid.ColumnProperty, 3); _Grid.Children.Add(alarm_Image); if (!Memory.alarmBlocked[v.rbr]) { alarm_Image.Opacity = 1; if (v.alarmSkipped) { alarm_Image.Opacity = 0.15; } } #endregion #region 4th column - toast icon Image toast_Image = new Image { Width = 32, Height = 32, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(3, 0, 3, 0), Opacity = 0, Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/notification" + tema + ".png")), }; toast_Image.SetValue(Grid.ColumnProperty, 3); _Grid.Children.Add(toast_Image); if (!Memory.toastBlocked[v.rbr]) { alarm_Image.SetValue(Grid.ColumnProperty, 2); toast_Image.Opacity = 1; if (v.toastSkipped) { toast_Image.Opacity = 0.15; } } else if (Memory.alarmBlocked[v.rbr]) { alarm_Image.SetValue(Grid.ColumnProperty, 2); } else { toast_Image.SetValue(Grid.ColumnProperty, 2); } #endregion Article_Grid.Children.Add(_Grid); _ListViewItem.Content = Article_Grid; #region Storyboard Duration duration = new Duration(TimeSpan.FromMilliseconds(250)); DoubleAnimation myDoubleAnimation1 = new DoubleAnimation(); myDoubleAnimation1.Duration = duration; Storyboard sb = new Storyboard(); sb.Duration = duration; sb.Children.Add(myDoubleAnimation1); Storyboard.SetTarget(myDoubleAnimation1, _ListViewItem); Storyboard.SetTargetProperty(myDoubleAnimation1, "Opacity"); myDoubleAnimation1.To = 1; _ListViewItem.Resources.Add("unique_id", sb); #endregion sb.Begin(); }
/// <summary> /// Creates one clock to be displayed in the top section /// </summary> /// <param name="timezone"></param> /// <returns></returns> protected UIElement CreateOneClock(string timezone) { if (!ViewModel.TimezonesAvailable.ContainsKey(timezone)) { return(null); } Grid Ret = new Grid() { Width = 180, Height = 88, Margin = new Thickness(5, 5, 0, 0), Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#EEEEEE")) }; Ret.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(24) }); Ret.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); Ret.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(24) }); #region Row 0 TextBlock TmpText = new TextBlock() { Text = timezone, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 5, 0, 0) }; Viewbox VB = new Viewbox() { Margin = new Thickness(2) }; VB.SetValue(Grid.RowProperty, 0); VB.Child = TmpText; Ret.Children.Add(VB); #endregion #region Row 1 TmpText = new TextBlock() { Text = "", FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "Resources/Fonts/#Orbitron"), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Tag = timezone }; VB = new Viewbox(); VB.SetValue(Grid.RowProperty, 1); VB.Child = TmpText; Ret.Children.Add(VB); TimeBlocks.Add(TmpText); #endregion #region Row 2 TmpText = new TextBlock() { Text = "", HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 0, 5), Tag = timezone }; TmpText.SetValue(Grid.RowProperty, 2); Ret.Children.Add(TmpText); DateBlocks.Add(TmpText); #endregion return(Ret); }
public void CreateGrid() { var background = new Rectangle(); background.Fill = BackColor; background.Width = CanvasSize.Width; background.Height = CanvasSize.Height; background.RadiusX = BorderRadius; background.RadiusY = BorderRadius; Playground.Children.Add(background); var width = CanvasSize.Width - 2 * BlockMargin; var height = CanvasSize.Height - 2 * BlockMargin; var cellWidth = width / CellsCount - (CellsCount - 1.0) / CellsCount * BlockMargin; var cellHeight = height / CellsCount - (CellsCount - 1.0) / CellsCount * BlockMargin; for (int x = 0; x < CellsCount; x++) { for (int y = 0; y < CellsCount; y++) { var cell = new Rectangle(); cell.Fill = ForeColor; cell.Width = cellWidth; cell.Height = cellHeight; cell.SetValue(LeftProperty, x * cellWidth + BlockMargin * (x + 1)); cell.SetValue(TopProperty, y * cellHeight + BlockMargin * (y + 1)); cell.RadiusX = BorderRadius; cell.RadiusY = BorderRadius; var cellFill = new Rectangle(); cellFill.Fill = ForeColor; cellFill.Width = cellWidth; cellFill.Height = cellHeight; cellFill.SetValue(LeftProperty, x * cellWidth + BlockMargin * (x + 1)); cellFill.SetValue(TopProperty, y * cellHeight + BlockMargin * (y + 1)); cellFill.RadiusX = BorderRadius; cellFill.RadiusY = BorderRadius; var label = new Label(); label.Content = ""; var viewBox = new Viewbox(); viewBox.Child = label; viewBox.Width = cellWidth; viewBox.Height = cellHeight; viewBox.SetValue(LeftProperty, x * cellWidth + BlockMargin * (x + 1)); viewBox.SetValue(TopProperty, y * cellHeight + BlockMargin * (y + 1)); Cells[x, y] = new Cell(0, x, y); Cells[x, y].Content = viewBox; Cells[x, y].Fill = cell; Playground.Children.Add(cell); Playground.Children.Add(viewBox); } } }
public void Move(int x, int y, Direction dir) { Point StartPos = new Point(x, y); Point EndPos = new Point(x, y); var val = Cells[x, y].Value; var color = Cells[x, y].Fill.Fill; int xOffset = 0; int yOffset = 0; if (dir == Direction.Left) { xOffset = -1; if (x == 0) { return; } } else if (dir == Direction.Right) { xOffset = 1; if (x == CellsCount - 1) { return; } } else if (dir == Direction.Up) { yOffset = -1; if (y == 0) { return; } } else if (dir == Direction.Down) { yOffset = 1; if (y == CellsCount - 1) { return; } } if (Cells[x + xOffset, y + yOffset].Value == Cells[x, y].Value && !Cells[x + xOffset, y + yOffset].Joined && !Cells[x, y].Joined && Cells[x, y].Value != 0) { var value = Cells[x, y].Value; Cells[x, y].Value = 0; Cells[x + xOffset, y + yOffset].Value = value * 2; Score += value * 2; EndPos.X = x + xOffset; EndPos.Y = y + yOffset; Cells[x + xOffset, y + yOffset].Joined = true; if (value > 0) { Moved = true; } } else { bool end = false; for (; !end;) { if (Cells[x + xOffset, y + yOffset].Value == 0 && Cells[x, y].Value != 0) { var value = Cells[x, y].Value; Cells[x, y].Value = 0; Cells[x + xOffset, y + yOffset].Value = value; if (Cells[x, y].Joined) { Cells[x, y].Joined = false; Cells[x + xOffset, y + yOffset].Joined = true; } if (!Cells[x, y].Joined) { Cells[x + xOffset, y + yOffset].Joined = false; } EndPos.X = x + xOffset; EndPos.Y = y + yOffset; x += xOffset; y += yOffset; if (value > 0) { Moved = true; } ; } else { if (Cells[x + xOffset, y + yOffset].Value == Cells[x, y].Value && !Cells[x + xOffset, y + yOffset].Joined && !Cells[x, y].Joined && Cells[x, y].Value != 0) { var value = Cells[x, y].Value; Cells[x, y].Value = 0; Cells[x + xOffset, y + yOffset].Value = value * 2; Score += value * 2; EndPos.X = x + xOffset; EndPos.Y = y + yOffset; Cells[x + xOffset, y + yOffset].Joined = true; if (value > 0) { Moved = true; } } break; } if (dir == Direction.Left && x <= 0) { end = true; } else if (dir == Direction.Right && x >= CellsCount - 1) { end = true; } else if (dir == Direction.Up && y <= 0) { end = true; } else if (dir == Direction.Down && y >= CellsCount - 1) { end = true; } } } var width = CanvasSize.Width - 2 * BlockMargin; var height = CanvasSize.Height - 2 * BlockMargin; var cellWidth = width / CellsCount - (CellsCount - 1.0) / CellsCount * BlockMargin; var cellHeight = height / CellsCount - (CellsCount - 1.0) / CellsCount * BlockMargin; var x1 = StartPos.X * cellWidth + BlockMargin * (StartPos.X + 1); var y1 = StartPos.Y * cellWidth + BlockMargin * (StartPos.Y + 1); var x2 = EndPos.X * cellWidth + BlockMargin * (EndPos.X + 1); var y2 = EndPos.Y * cellWidth + BlockMargin * (EndPos.Y + 1); var itteration = 0; var itterations = 10; var cellFill = new Rectangle(); cellFill.Fill = GetColor(val); cellFill.Width = cellWidth; cellFill.Height = cellHeight; cellFill.SetValue(LeftProperty, (x2 - x1) * itteration / (double)itterations + x1); cellFill.SetValue(TopProperty, (y2 - y1) * itteration / (double)itterations + y1); cellFill.RadiusX = BorderRadius; cellFill.RadiusY = BorderRadius; var label = new Label(); label.Content = val.ToString(); var viewBox = new Viewbox(); label.Foreground = ((Label)Cells[(int)StartPos.X, (int)StartPos.Y].Content.Child).Foreground; viewBox.Child = label; viewBox.Width = cellWidth; viewBox.Height = cellHeight; viewBox.SetValue(LeftProperty, (x2 - x1) * itteration / (double)itterations + x1); viewBox.SetValue(TopProperty, (y2 - y1) * itteration / (double)itterations + y1); if (val != 0) { AnimatedCells++; Playground.Children.Add(cellFill); Playground.Children.Add(viewBox); var animationX = new DoubleAnimation(x1, x2, new Duration(TimeSpan.FromSeconds(0.2))); var animationY = new DoubleAnimation(y1, y2, new Duration(TimeSpan.FromSeconds(0.2))); animationX.Completed += (object sender, EventArgs e) => { Playground.Children.Remove(cellFill); Playground.Children.Remove(viewBox); UpdateGrid((int)EndPos.X, (int)EndPos.Y); if (AnimatedCells >= FilledCells) { LockKeyPress = false; UpdateGrid(); } var soltionExists = CheckCells(); if (!soltionExists) { LockKeyPress = true; Menu.Visibility = Visibility.Visible; Fill.Visibility = Visibility.Visible; MenuMessage.Content = "Game over"; var animation = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromSeconds(0.2))); Menu.BeginAnimation(OpacityProperty, animation); Fill.BeginAnimation(OpacityProperty, animation); } foreach (var cell in Cells) { if (cell.Value == 2048) { LockKeyPress = true; Menu.Visibility = Visibility.Visible; Fill.Visibility = Visibility.Visible; MenuMessage.Content = "You win"; var animation = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromSeconds(0.2))); Menu.BeginAnimation(OpacityProperty, animation); Fill.BeginAnimation(OpacityProperty, animation); } } }; cellFill.BeginAnimation(LeftProperty, animationX); cellFill.BeginAnimation(TopProperty, animationY); viewBox.BeginAnimation(LeftProperty, animationX); viewBox.BeginAnimation(TopProperty, animationY); Cells[(int)StartPos.X, (int)StartPos.Y].Fill.Fill = ForeColor; ((Label)Cells[(int)StartPos.X, (int)StartPos.Y].Content.Child).Content = ""; } }
void CreateMatrix() { btnMatrixCellArray = new Button[maxRowLength, maxColLength]; eWDecode.btnMatrixCellArray = new Button[maxRowLength, maxColLength]; timeMatrixCellArray = new int[maxRowLength, maxColLength]; numberOfHintArray = new int[maxRowLength, maxColLength]; for (int i = 0; i <= maxColLength; i++) { ColumnDefinition columnDefinition = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; ColumnDefinition eWColumnDefinition = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; eWDecode.gridMatrixTable.ColumnDefinitions.Add(eWColumnDefinition); gridMatrixTable.ColumnDefinitions.Add(columnDefinition); } for (int i = 0; i <= maxRowLength; i++) { RowDefinition rowDefinition = new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }; RowDefinition eWRowDefinition = new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }; eWDecode.gridMatrixTable.RowDefinitions.Add(rowDefinition); gridMatrixTable.RowDefinitions.Add(eWRowDefinition); } for (int i = 1; i <= maxColLength; i++) { Viewbox viewboxColumnName = new Viewbox { Child = new TextBlock { Foreground = Brushes.White, FontFamily = new FontFamily("Open Sans"), Text = (char)(64 + i) + "" } }; viewboxColumnName.SetValue(Grid.ColumnProperty, i); viewboxColumnName.SetValue(Grid.RowProperty, 0); gridMatrixTable.Children.Add(viewboxColumnName); Viewbox eWViewboxColumnName = new Viewbox { Child = new TextBlock { Foreground = Brushes.White, FontFamily = new FontFamily("Open Sans"), Text = (char)(64 + i) + "" } }; eWViewboxColumnName.SetValue(Grid.ColumnProperty, i); eWViewboxColumnName.SetValue(Grid.RowProperty, 0); eWDecode.gridMatrixTable.Children.Add(eWViewboxColumnName); } for (int i = 1; i <= maxRowLength; i++) { Viewbox viewboxColumnName = new Viewbox { Child = new TextBlock { Foreground = Brushes.White, FontFamily = new FontFamily("Open Sans"), Text = i.ToString() } }; viewboxColumnName.SetValue(Grid.ColumnProperty, 0); viewboxColumnName.SetValue(Grid.RowProperty, i); gridMatrixTable.Children.Add(viewboxColumnName); Viewbox eWViewboxColumnName = new Viewbox { Child = new TextBlock { Foreground = Brushes.White, FontFamily = new FontFamily("Open Sans"), Text = i.ToString() } }; eWViewboxColumnName.SetValue(Grid.ColumnProperty, 0); eWViewboxColumnName.SetValue(Grid.RowProperty, i); eWDecode.gridMatrixTable.Children.Add(eWViewboxColumnName); } for (int i = 0; i < maxRowLength; i++) { for (int j = 0; j < maxColLength; j++) { btnMatrixCellArray[i, j] = new Button { BorderThickness = new Thickness(1.5), BorderBrush = Brushes.Black, Name = string.Format("Matrix_{0}_{1}", i, j), Background = Brushes.White, FontSize = 40, FontFamily = new FontFamily("Open Sans"), Content = string.Empty }; btnMatrixCellArray[i, j].SetValue(Grid.RowProperty, i + 1); btnMatrixCellArray[i, j].SetValue(Grid.ColumnProperty, j + 1); gridMatrixTable.Children.Add(btnMatrixCellArray[i, j]); eWDecode.btnMatrixCellArray[i, j] = new Button { BorderThickness = new Thickness(1.5), BorderBrush = Brushes.Black, Name = string.Format("Matrix_{0}_{1}", i, j), Background = Brushes.White, FontSize = 40, FontFamily = new FontFamily("Open Sans"), Content = string.Empty }; eWDecode.btnMatrixCellArray[i, j].SetValue(Grid.RowProperty, i + 1); eWDecode.btnMatrixCellArray[i, j].SetValue(Grid.ColumnProperty, j + 1); eWDecode.gridMatrixTable.Children.Add(eWDecode.btnMatrixCellArray[i, j]); timeMatrixCellArray[i, j] = 0; numberOfHintArray[i, j] = 0; } } Brush[] colorOfCell = { Brushes.Green, Brushes.Yellow, Brushes.Red }; for (int i = 1; i < decodeQuestionList.Count; i++) { int difficulty = decodeQuestionList[i].QuestionTypeID / 10 - 1; int row = decodeQuestionList[i].RowNo; int col = decodeQuestionList[i].ColNo; btnMatrixCellArray[row, col].Background = colorOfCell[difficulty]; eWDecode.btnMatrixCellArray[row, col].Background = colorOfCell[difficulty]; if (decodeQuestionList[i].QuestionTypeID % 10 == 1) { timeMatrixCellArray[row, col] = 15 + 5 * difficulty; btnMatrixCellArray[row, col].Uid = "Decode_ImgQuestionIcon.png"; } else { timeMatrixCellArray[row, col] = 10; numberOfHint++; btnMatrixCellArray[row, col].Uid = "Decode_ImgHintIcon.png"; Image hintImage = new Image(); mediaAct.Upload(hintImage, decodeQuestionList[i].QuestionImageName); hintImage.Stretch = Stretch.Fill; hintImageList.Add(hintImage); hintImage.Visibility = Visibility.Hidden; } btnMatrixCellArray[row, col].Click += BtnMatrixCell_Click; } SetUpNumberOfHint(); }
private void SetQuestionDetail_Round1(Question question) { HiddenAllGrid(); grdDetailQuestionRound1.Visibility = Visibility.Visible; if (question.ID != 6) { tbQuestionDetail.Text = "Câu " + question.ID + ": " + question.Detail; } else { tbQuestionDetail.Text = "Từ khóa"; } int maxDigit = FindMax(currentListQuestion) > 10 ? FindMax(currentListQuestion) : 10; if (question.NumberOfDigits % 2 == 1) { maxDigit += 1; } grdRound1_DigitDetail.ColumnDefinitions.Clear(); grdRound1_DigitDetail.Children.Clear(); for (int i = 0; i < maxDigit; i++) { ColumnDefinition colDefinition = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; grdRound1_DigitDetail.ColumnDefinitions.Add(colDefinition); } int count = question.NumberOfDigits; int gap = Convert.ToInt32(Math.Ceiling((double)(maxDigit - count) / 2)); for (int i = 0; i < count; i++) { Image image = new Image(); MediaAct.Instance.Upload(image, "Obstacles_ObstacleChosenImage.png"); //image.SetValue(Grid.RowProperty, 0); image.SetValue(Grid.ColumnProperty, i + gap); grdRound1_DigitDetail.Children.Add(image); } Image imageClock = new Image(); MediaAct.Instance.Upload(imageClock, "BoxTime.png"); imageClock.SetValue(Grid.ColumnProperty, 1); grdTimeRound1.Children.Add(imageClock); Viewbox viewbox = new Viewbox(); Label timeTick = new Label { Content = "00:15", Foreground = Brushes.White }; if (question.ID == 6) { timeTick.Content = "00:10"; } timeTick.MouseDoubleClick += TimeTick_MouseDoubleClick; viewbox.Child = timeTick; viewbox.SetValue(Grid.ColumnProperty, 1); grdTimeRound1.Children.Add(viewbox); }
private void ShowPreloader() { var grid = new Grid { Name = "BusyIndicator", Opacity = 0.0 }; if (DimBackground) { grid.Cursor = Cursors.Wait; grid.ForceCursor = true; //InputManager.Current.PreProcessInput += OnPreProcessInput; } grid.SetBinding(FrameworkElement.WidthProperty, new Binding("ActualWidth") { Source = HostGrid }); grid.SetBinding(FrameworkElement.HeightProperty, new Binding("ActualHeight") { Source = HostGrid }); for (int i = 1; i <= 3; ++i) { if (i != 2) { grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); } else { grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star), MaxWidth = 180.0 }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star), MaxHeight = 120.0 }); } } var viewbox = new Viewbox { HorizontalAlignment = HorizontalAlignment.Center, Stretch = Stretch.Uniform, StretchDirection = StretchDirection.Both, Child = GetChildControl() }; //TODO viewbox.MouseRightButtonDown += ChildOnMouseRightButtonDown; // grid.SetValue(Panel.ZIndexProperty, 1000); grid.SetValue(Grid.RowSpanProperty, Math.Max(1, HostGrid.RowDefinitions.Count)); grid.SetValue(Grid.ColumnSpanProperty, Math.Max(1, HostGrid.ColumnDefinitions.Count)); if (AddMargins) { viewbox.SetValue(Grid.RowProperty, 1); viewbox.SetValue(Grid.ColumnProperty, 1); } else { viewbox.SetValue(Grid.RowSpanProperty, 3); viewbox.SetValue(Grid.ColumnSpanProperty, 3); } viewbox.SetValue(Panel.ZIndexProperty, 1); var dimmer = new Rectangle { Name = "Dimmer", Opacity = DimmerOpacity, Fill = DimmerBrush, Visibility = (DimBackground ? Visibility.Visible : Visibility.Collapsed) }; dimmer.SetValue(Grid.RowSpanProperty, 3); dimmer.SetValue(Grid.ColumnSpanProperty, 3); dimmer.SetValue(Panel.ZIndexProperty, 0); grid.Children.Add(dimmer); grid.Children.Add(viewbox); grid.BeginAnimation(UIElement.OpacityProperty, new DoubleAnimation(1.0, DimTransitionDuration)); HostGrid.Children.Add(grid); HostGrid.UpdateLayout(); }
void InitMainWindow() { if (txtBoxStudentNameList.Count != 4) { for (int i = 0; i < numberOfStudent; i++) { Viewbox viewbox = new Viewbox(); TextBox txtBoxName = new TextBox { FontSize = 35, Background = Brushes.Transparent, Foreground = Brushes.Black, Text = studentList[i].Name, TextAlignment = TextAlignment.Center, Margin = new Thickness(0, 15, 0, 0) }; viewbox.Child = txtBoxName; viewbox.SetValue(Grid.RowProperty, i + 1); viewbox.SetValue(Grid.ColumnProperty, 0); gridStudentInformation.Children.Add(viewbox); txtBoxStudentNameList.Add(txtBoxName); TextBox txtBoxPoint = new TextBox { FontSize = 35, Background = Brushes.Transparent, Foreground = Brushes.Black, Text = studentList[i].Point.ToString(), TextAlignment = TextAlignment.Center, Margin = new Thickness(0, 15, 0, 0) }; txtBoxPoint.SetValue(Grid.RowProperty, i + 1); txtBoxPoint.SetValue(Grid.ColumnProperty, 1); gridStudentInformation.Children.Add(txtBoxPoint); txtBoxStudentPointList.Add(txtBoxPoint); } } else { for (int i = 0; i < numberOfStudent; i++) { txtBoxStudentNameList[i].Text = studentList[i].Name; txtBoxStudentPointList[i].Text = studentList[i].Point.ToString(); } } eWMainWindow = new EWMainWindow(); eWMainWindow.Show(); eWPointSummarized = new EWPointSummarized(); eWStart = new EWStart(); eWObstacles = new EWObstacles(); eWAccelerate = new EWAccelerate(); eWDecode = new EWDecode(); eWFinish = new EWFinish(); uCReadExcel = new UCReadExcel(this); uCStart = new UCStart(this, eWMainWindow, eWStart, studentList, server, matchID); uCObstacles = new UCObstacles(this, eWMainWindow, eWObstacles, studentList, server, matchID); uCAccelerate = new UCAccelerate(this, eWMainWindow, eWAccelerate, studentList, server, matchID); uCDecode = new UCDecode(this, eWMainWindow, eWDecode, studentList, server, matchID); uCFinish = new UCFinish(this, eWMainWindow, eWFinish, studentList, server, matchID); uCSubQuestions = new UCSubQuestions(this, eWMainWindow, studentList, server, matchID); while (tabMain.Items.Count != 0) { tabMain.Items.RemoveAt(0); } tabMain.Items.Add(new TabItem { Content = uCStart, Header = "Khởi Động", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCObstacles, Header = "VCNV", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCAccelerate, Header = "Tăng Tốc", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCDecode, Header = "Giải Mã", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCFinish, Header = "Về Đích", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCSubQuestions, Header = "Câu hỏi phụ", Width = 80, Height = 20, FontSize = 10 }); tabMain.Items.Add(new TabItem { Content = uCReadExcel, Header = "Read Excel", Width = 80, Height = 20, FontSize = 10 }); //Cap nhap ID cua vong hien tai System.IO.StreamWriter streamWriter = new System.IO.StreamWriter("Round.txt"); streamWriter.Flush(); streamWriter.Write("0"); streamWriter.Close(); }