public void TestDataGridInViewBox() { Viewbox vb = new Viewbox(); vb.Height = 300; vb.Width = 300; vb.Stretch = Stretch.UniformToFill; DataGrid dg = new DataGrid(); dg.ItemsSource = DataForDataGrid.GenerateRecordList(30); dg.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; vb.Child = dg; ContentPresenter cp = new ContentPresenter(); ScaleTransform st = new ScaleTransform(); TestAsync( vb, () => cp = (ContentPresenter)VisualTreeHelper.GetParent(dg), () => st = cp.RenderTransform as ScaleTransform, () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualHeight, dg.ActualHeight * st.ScaleY)), () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualWidth, dg.ActualWidth * st.ScaleX))); }
public void Viewbox_Stretch_Uniform_Child_With_Unrestricted_Width() { using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface); var target = new Viewbox() { Child = new Rectangle() { Width = 100, Height = 50 } }; target.Measure(new Size(double.PositiveInfinity, 200)); target.Arrange(new Rect(new Point(0, 0), target.DesiredSize)); Assert.Equal(new Size(400, 200), target.DesiredSize); Assert.True(TryGetScale(target, out Vector scale)); Assert.Equal(4.0, scale.X); Assert.Equal(4.0, scale.Y); }
/// <summary> /// Matrix Control /// </summary> public Matrix() { ContentPanel = new StackPanel() { Spacing = 0, Orientation = Orientation.Horizontal }; Viewbox viewbox = new Viewbox() { Child = ContentPanel }; this.Children.Add(viewbox); SetValue(); _timer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(250) }; _timer.Tick += (object sender, object e) => SetValue(); _timer.Start(); }
public static double GetChildScaleY(this Viewbox viewbox) { if (viewbox.Child == null) { throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with no child."); } var fe = viewbox.Child as FrameworkElement; if (fe == null) { throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with a child that is not a FrameworkElement."); } if (fe.ActualWidth == 0) { throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with a child that is not laid out."); } return(fe.ActualHeight / viewbox.ActualHeight); }
public SelectionButton(Input input) { Input = input; if (input.DefaultInput != null) { var defaultSelection = input.Children.FirstOrDefault(i => i.Id == input.DefaultInput); SelectItem(defaultSelection); } Title = input.Title; Icon = new Viewbox() { Child = new SymbolIcon(Symbol.Edit), Height = 15, Width = 15 }; Action = ShowPopup; }
private void lst_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (lst.SelectedItem != null) { var grd = new Viewbox(); var bitmap = new BitmapImage(new Uri((lst.SelectedItem as Image).Path)); var img = new Canvas { Background = new ImageBrush { ImageSource = bitmap, Stretch = Stretch.None } }; img.Width = bitmap.Width; img.Height = bitmap.Height; ImageHandler.AddImageToCanvas(ref img); } Close(); }
private void AddMachineNames() { for (int machine = 0; machine < Machines.Count; machine++) { Viewbox box = new Viewbox(); string text = "P" + (machine + 1).ToString(); TextBlock label = new TextBlock(); label.Text = text; box.Height = _rectangleHeight; box.Width = _rectangleWidth; box.HorizontalAlignment = HorizontalAlignment.Right; ///label.FontSize = _rectangleHeight; Canvas.SetLeft(box, _startX - box.Width - 2); Canvas.SetTop(box, _startY + _rectangleHeight * machine); box.Child = label; canvas.Children.Add(box); } }
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); } } }
public void DrawEdge(Viewbox ViewBox1, Viewbox ViewBox2, KeyEventHandler TextboxHandler, MouseButtonEventHandler MouseEvent) { if (Graph.FindEdge(Graph.FindVertex( ExtractElementFromViewBox <TextBlock>(ViewBox1).Text), Graph.FindVertex(ExtractElementFromViewBox <TextBlock>(ViewBox2).Text)) != null) { CancelSelection(GetFrameworkElementCollection <Button>().FirstOrDefault(b => b.Name == "FindPathButton")); return; } Point point1 = GetControlPositionOnCanvas(ViewBox1); Point point2 = GetControlPositionOnCanvas(ViewBox2); Line line = new Line { Stroke = Brushes.Black, StrokeThickness = 2, RenderTransform = new TranslateTransform(ViewBox1.ActualWidth / 2, ViewBox1.ActualHeight / 2) }; SetLineBinding(ViewBox1, ViewBox2, line); double MarginLeft = (point1.X + point2.X) / 2; double MarginTop = (point1.Y + point2.Y) / 2; double MarginRight = point2.X > point1.X ? point2.X - MarginLeft - 12 : point1.X - MarginLeft - 12; double MarginBottom = point2.Y > point1.Y ? point2.Y - MarginTop - 18 : point1.Y - MarginTop - 18; TextBox textBox = UICreator.CreateTextBox(new Thickness(MarginLeft, MarginTop, MarginRight, MarginBottom)); textBox.KeyUp += TextboxHandler; Grid grid = new Grid(); Viewbox viewbox = UICreator.CreateViewBox($"edge " + $"{ExtractElementFromViewBox<TextBlock>(ViewBox1).Text} " + $"{ExtractElementFromViewBox<TextBlock>(ViewBox2).Text}"); viewbox.MouseLeftButtonUp += MouseEvent; grid.Children.Add(line); grid.Children.Add(textBox); viewbox.Child = grid; Canvas.Children.Add(viewbox); textBox.SelectionStart = textBox.Text.Length; textBox.Focus(); }
private void CreateSelectTopicButtons() { IEnumerable <GameItem> talkInMinuteItems = EnglishGameHelper.RandomOrder( FileManagement.GetListGameData().Where(x => x.GameName == Constant.GameConstant.TalkInMinute).ToList()); int index = 1; foreach (GameItem talkInMinuteItem in talkInMinuteItems) { var viewbox = new Viewbox { Child = new TextBlock { Text = index.ToString(CultureInfo.InvariantCulture) } }; var button = new Button { Content = viewbox, Tag = talkInMinuteItem, Width = 100, Height = 100, Margin = new Thickness(0, 0, 10, 10) }; button.Click += (s, e) => { var b = s as Button; if (b != null) { SelectTopicVisibility = Visibility.Collapsed; SelectedGameItem = (GameItem)b.Tag; b.Visibility = Visibility.Collapsed; EnglishGameHelper.SpeakText(SelectedGameItem.Title); _timer.IsEnabled = true; } }; LayoutRoot.Children.Add(button); index++; } }
private void ButtonMostrar_Click(object sender, RoutedEventArgs e) { int numeroFilas = 0; if (RadioButtonBaja.IsChecked == true) { numeroFilas = 3; } else if (RadioButtonMedia.IsChecked == true) { numeroFilas = 4; } else if (RadioButtonAlta.IsChecked == true) { numeroFilas = 5; } for (int fila = 0, contadorLista = 0; fila < numeroFilas; fila++) { for (int z = 0; z < 4; contadorLista++, z++) { Border borde = new Border(); Viewbox vb = new Viewbox(); TextBlock tb = new TextBlock(); vb.Child = tb; borde.Child = vb; borde.Background = Brushes.NavajoWhite; borde.Margin = new Thickness(3); borde.CornerRadius = new CornerRadius(10); tb.FontFamily = new FontFamily("Webdings"); tb.Tag = listaExterna[contadorLista]; tb.Text = tb.Tag.ToString(); GridTabla.Children.Add(borde); Grid.SetRow(borde, fila); Grid.SetColumn(borde, z); } } BarraProgreso.Value = 600; MessageBox.Show("¡Partida finalizada!"); }
private void Borde_MouseLeftButtonUp1(object sender, MouseButtonEventArgs e) { Border b = (Border)sender; Viewbox vb = (Viewbox)b.Child; TextBlock tb = (TextBlock)vb.Child; if (primerCaracter == null) { primerCaracter = tb.Tag.ToString(); } else if (segundoCaracter == null) { segundoCaracter = tb.Tag.ToString(); } if (textBlockExterno == null) { textBlockExterno = tb; } if (primerCaracter != null && segundoCaracter != null) { if (segundoCaracter != primerCaracter) { System.Threading.Thread.Sleep(500); tb.Text = "s"; textBlockExterno.Text = "s"; primerCaracter = null; segundoCaracter = null; textBlockExterno = null; } else { ControladorBarraProgreso(); primerCaracter = null; segundoCaracter = null; textBlockExterno = null; } } }
private Viewbox GetImageSource() { var viewbox = new Viewbox(); viewbox.Stretch = Stretch.Uniform; Canvas canvas = null; var pathName = PathName; if (!string.IsNullOrWhiteSpace(pathName)) { canvas = System.Windows.Application.Current.FindResource(pathName) as Canvas; if (canvas != null) { // Clone to prevent the same instance to be used multiple times canvas = canvas.Clone(); if (canvas != null && Foreground != Brushes.Transparent) { foreach (var child in canvas.Children) { var path = child as Path; if (path != null) { path.SetCurrentValue(Shape.FillProperty, Foreground); } } } } else { Log.Warning("Could not find a resource named '{0}'", pathName); } } viewbox.Child = canvas; return(viewbox); }
private void DrawSeat() { seatComboBox.Items.Add(new CustomComboBoxItem { Text = "Not Selected", Value = "" }); foreach (Seat seat in SeatMapPostion) { Grid grid = new Grid(); grid.Width = seat.Width; grid.Height = seat.Height; grid.Background = seatBrush; grid.Visibility = Visibility.Hidden; TextBlock text = new TextBlock(); text.Text = string.Format("{0}{1}", seat.Row, seat.Column); text.Foreground = Brightness(seatBrush.Color) < 130 ? Brushes.White : Brushes.Black; if (FrontDoorUsingFlag && !RearDoorUsingFlag || FrontDoorUsingFlag && RearDoorUsingFlag && seat.Row < AircraftConfiguration.MiddleRow) { text.LayoutTransform = new RotateTransform(180); } Viewbox viewBox = new Viewbox(); viewBox.Child = text; grid.Name = string.Format("{1}_{0}", seat.Row, seat.Column); RegisterName(string.Format("{1}_{0}", seat.Row, seat.Column), grid); grid.Children.Add(viewBox); imageCanvas.Children.Add(grid); Canvas.SetLeft(grid, seat.X); Canvas.SetTop(grid, seat.Y); seatComboBox.Items.Add(new CustomComboBoxItem { Text = string.Format("{0}{1}", seat.Row, seat.Column), Value = string.Format("{1}_{0}", seat.Row, seat.Column) }); } seatComboBox.SelectedIndex = 0; if (selectedSeat != null) { ShowSeat(selectedSeat); DrawLine(selectedSeat); } }
public void SetQuestion(QuestionsModel question) { ClearGrid(); AddRow(grid_QuestData, 1); Viewbox box = DynamicElements.CreateViewBoxLabel("Введите вопрос:", 0); grid_QuestData.Children.Add(box); AddRow(grid_QuestData, 2); RichTextBox rich = new RichTextBox(); rich.Name = "rtb_Question"; rich.FontSize = 20; rich.Tag = question.Id; rich.AppendText(question.Text); DynamicElements.SetRowColumnProperties(rich, 1, 0, 1, 2); grid_QuestData.Children.Add(rich); AddRow(grid_QuestData, 4); ScrollViewer scroll = new ScrollViewer(); StackPanel panel = new StackPanel(); Button btn = DynamicElements.CreateButton("Добавить ответ"); btn.Style = this.FindResource("btn_AddAnswer") as Style; panel.Children.Add(btn); scroll.Content = panel; scroll.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden; DynamicElements.SetRowColumnProperties(scroll, 3, 1, 1, 4); grid_QuestData.Children.Add(scroll); answerCount = 0; if (question.Answers.Count == 0) { AddAnswer(btn, new AnswersModel(answerCount, question.Id, "", false)); } else { foreach (AnswersModel el in question.Answers) { AddAnswer(btn, el); } } }
public AnalyzeUC() { InitializeComponent(); Root.IsEnabled = false; /* var distance = FallLocationService.getListOfDistance().ToArray(); * DistanceDiagramSlider.SelectionStart = distance[0]; * DistanceDiagramSlider.SelectionEnd = distance[distance.Length - 1];*/ // var i = carusel.Children.Count; instance = SimpleIoc.Default.GetInstance <AnalyzeViewModle>(); DispatcherHelper.CheckBeginInvokeOnUI(() => { if (instance != null) { foreach (var item in instance.getImageList()) { Viewbox vb; if (item.Parent == null) { vb = new Viewbox(); vb.Child = item; } else { vb = (item.Parent as Viewbox); } AFLCarusel.Items.Add(new CarouselItem() { Content = vb }); // AFLCarusel.Items.Add(item); } } }); Root.IsEnabled = true; }
// A common way to implement an adorner's rendering behavior is to override the OnRender // method, which is called by the layout system as part of a rendering pass. protected override void OnRender(DrawingContext drawingContext) { Rect adornedElementRect = new Rect(this.AdornedElement.DesiredSize); // Some arbitrary drawing implements. SolidColorBrush renderBrush = new SolidColorBrush(Colors.White); //renderBrush.Opacity = 0.2; double renderRadius = 5.0; // Draw a circle at each corner. Viewbox parentViewbox = VisualTreeExtensions.FindParent <Viewbox>(this.AdornedElement); double factor = parentViewbox.Child.RenderSize.Width / parentViewbox.RenderSize.Width; renderRadius *= factor; Pen renderPen = new Pen(Brushes.Black, 1.5 * factor); drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopLeft, renderRadius, renderRadius); drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopRight, renderRadius, renderRadius); drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomLeft, renderRadius, renderRadius); drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomRight, renderRadius, renderRadius); }
private void Borde_MouseDown(object sender, MouseButtonEventArgs e) { Border borde = sender as Border; Viewbox vb = (Viewbox)borde.Child; TextBlock tb = (TextBlock)vb.Child; if (tb.Text.Equals("s")) { tb.Text = tb.Tag.ToString(); if (caracter1 == null) { caracter1 = tb.Tag.ToString(); carta1 = tb; } else if (caracter2 == null) { caracter2 = tb.Tag.ToString(); carta2 = tb; } } }
public void Stat_Add_Button_Click(object sender, RoutedEventArgs e) { string text = _mainPage.GetMainText(); // get the text block TextBlock tb = new TextBlock(); tb.Text = text; tb.FontSize = 60; Viewbox vb = new Viewbox(); vb.Height = TemplateStatButtonHeight.ActualHeight; vb.Child = tb; AddToGrid(vb, text); _mainPage.Stat_Add_Button_Click(_currentStatValues.Count.ToString()); // reset the equals key focus when we change view Helpers.equalsKeyFocus(_mainPage.currentView.GetEqualsKey(), this); }
private void AddTestAnchorAdornment(ITextViewLine line, SnapshotSpan span, TestItemViewModel viewModel, bool isUpToDate) { if (viewModel == null) { return; } var viewBox = new Viewbox() { Width = _textView.LineHeight, Height = _textView.LineHeight, Stretch = Stretch.Uniform }; var button = new ActionButton() { DataContext = viewModel, Opacity = isUpToDate ? 1 : _modifiedOpacity, CommandParameter = viewModel.CodeItem, Command = _selectTestCommand, Cursor = Cursors.Hand, Tag = new AnchorData() { Targets = new TestMethod[] { viewModel.CodeItem as TestMethod }, Type = AnchorType.Test } }; button.SetBinding(ActionButton.IconProperty, new Binding(nameof(viewModel.IconPath))); button.MouseRightButtonDown += (o, e) => e.Handled = true; button.MouseRightButtonUp += OnTestItemRightButtonUp; viewBox.Child = button; Canvas.SetLeft(viewBox, _sequenceCoverageLineWidth); Canvas.SetTop(viewBox, line.Top); _adornmentLayer.AddAdornment(AdornmentPositioningBehavior.TextRelative, span, null, viewBox, null); }
private void LayoutPageWithoutPlugin() { MainGrid.Children.Remove(PluginContainer); //**** THIS LINE ADDED FOR KB ---may be better solution, CR ***** PluginContainer = new Viewbox(); MainGrid.Children.Add(PluginContainer); SetGridPos(PluginContainer, 1, 0, 1); SetGridPos(Agent, 0, 0, 1); SetGridPos(Buttons, 0, 2, 2); Agent.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; Agent.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; Buttons.VerticalAlignment = System.Windows.VerticalAlignment.Center; MainGrid.RowDefinitions[0].ClearValue(RowDefinition.HeightProperty); MainGrid.RowDefinitions[1].Height = GridLength.Auto; MainGrid.ColumnDefinitions[0].Width = GridLength.Auto; MainGrid.ColumnDefinitions[1].ClearValue(ColumnDefinition.WidthProperty); MainGrid.ColumnDefinitions[1].ClearValue(ColumnDefinition.MinWidthProperty); MainGrid.ColumnDefinitions[1].ClearValue(ColumnDefinition.MaxWidthProperty); UpdateLayout(); }
private void MergeTiles(FileInfo targetFile, XkcdTile topLeftTile, XkcdTile topRightTile, XkcdTile bottomLeftTile, XkcdTile bottomRightTile) { if (topLeftTile != null || topRightTile != null || bottomLeftTile != null || bottomRightTile != null) { Func <XkcdTile, Image> TileToImage = tile => new Image { Source = XkcdTile.ToImageSource(tile) }; var grid = new UniformGrid { Rows = 2, Columns = 2 }; grid.Children.Add(TileToImage(topLeftTile)); grid.Children.Add(TileToImage(topRightTile)); grid.Children.Add(TileToImage(bottomLeftTile)); grid.Children.Add(TileToImage(bottomRightTile)); var viewBox = new Viewbox(); viewBox.Child = grid; viewBox.Measure(new System.Windows.Size(XkcdTile.Width, XkcdTile.Height)); viewBox.Arrange(new Rect(new System.Windows.Size(XkcdTile.Width, XkcdTile.Height))); var renderTarget = new RenderTargetBitmap(XkcdTile.Width, XkcdTile.Height, 96, 96, PixelFormats.Default); renderTarget.Render(viewBox); var frame = BitmapFrame.Create(renderTarget); var encoder = new PngBitmapEncoder { Frames = new[] { frame } }; using (var fileStream = targetFile.Create()) { encoder.Save(fileStream); } } }
private void DrawRoutinesLists() { Style DarkButton = Application.Current.Resources["DarkButton"] as Style; foreach (Routine routine in routinesList) { Viewbox viewboxy = new Viewbox(); Button routineButton = new Button(); routineButton.Content = "ROUTINE: " + routine.RoutineID; routineButton.Style = DarkButton; routineButton.Foreground = new SolidColorBrush(Windows.UI.Colors.White); routineButton.FontFamily = new FontFamily("./Assets/Draftsman.tff#Draftsman"); routineButton.Click += NavToRoutineRecords; routineButton.HorizontalAlignment = HorizontalAlignment.Stretch; routineButton.VerticalAlignment = VerticalAlignment.Stretch; routineButton.Margin = new Thickness(3); viewboxy.Child = routineButton; viewboxy.HorizontalAlignment = HorizontalAlignment.Stretch; viewboxy.VerticalAlignment = VerticalAlignment.Stretch; RoutineStacker.Children.Add(viewboxy); } }
public void Viewbox_Stretch_UniformToFill_Child() { using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface); var target = new Viewbox() { Stretch = Stretch.UniformToFill, Child = new Rectangle() { Width = 100, Height = 50 } }; target.Measure(new Size(200, 200)); target.Arrange(new Rect(new Point(0, 0), target.DesiredSize)); Assert.Equal(new Size(200, 200), target.DesiredSize); var scaleTransform = target.Child.RenderTransform as ScaleTransform; Assert.NotNull(scaleTransform); Assert.Equal(4.0, scaleTransform.ScaleX); Assert.Equal(4.0, scaleTransform.ScaleY); }
public void Viewbox_Stretch_Uniform_Child_With_Unrestricted_Height() { using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface); var target = new Viewbox() { Child = new Rectangle() { Width = 100, Height = 50 } }; target.Measure(new Size(200, double.PositiveInfinity)); target.Arrange(new Rect(new Point(0, 0), target.DesiredSize)); Assert.Equal(new Size(200, 100), target.DesiredSize); var scaleTransform = target.Child.RenderTransform as ScaleTransform; Assert.NotNull(scaleTransform); Assert.Equal(2.0, scaleTransform.ScaleX); Assert.Equal(2.0, scaleTransform.ScaleY); }
public unitcontrol(HostingUnit hu) { VBimage = new Viewbox(); InitializeComponent(); Current = hu; Id = Current.HostingUnitkey; userGrid.DataContext = Current; imageindex = 0; VBimage.Width = 170; VBimage.Height = 150; VBimage.Stretch = Stretch.Fill; userGrid.Children.Add(VBimage); Grid.SetColumn(VBimage, 2); Grid.SetRow(VBimage, 0); myImage = CreatViewImage(); VBimage.Child = null; VBimage.Child = myImage; VBimage.MouseUp += vbImage_MouseUp; occupancy.Text = MainWindow.myBl.GetAnnualBusyDays(Current).ToString(); }
private Viewbox GetViewbox(string pieceXaml) { Viewbox vb = null; XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(pieceXaml); XmlElement root = xmldoc.DocumentElement; string viewboxXaml = root.InnerXml; System.IO.MemoryStream ms = new System.IO.MemoryStream(Encoding.ASCII.GetBytes(viewboxXaml)); ParserContext pc = null; pc = new ParserContext(); pc.XmlnsDictionary.Add("", "http://schemas.microsoft.com/winfx/2006/xaml/presentation"); pc.XmlnsDictionary.Add("x", "http://schemas.microsoft.com/winfx/2006/xaml"); vb = XamlReader.Load(ms, pc) as Viewbox; vb.Margin = new Thickness(3, 3, 3, 3); ms.Close(); return(vb); }
private static void OnIsClippedChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { var beh = (MoveToViewboxBehavior)sender; Grid grid = beh.AssociatedObject; Viewbox vb = VisualHelper.FindVisualChild <Viewbox>(grid); ContentPresenter cp = VisualHelper.FindVisualChild <ContentPresenter>(grid); if ((bool)e.NewValue) { // is clipped, so move content to Viewbox UIElement element = cp.Content as UIElement; cp.Content = null; vb.Child = element; } else { // can be shown without clipping, so move content to ContentPresenter cp.Content = vb.Child; vb.Child = null; } }
public AddUnitWindow(Host host) { vbImage = new Viewbox(); currentUnit = new HostingUnit(); InitializeComponent(); this.DataContext = currentUnit; bl = FactoryBL.getBL(); currentUnit.owner = host; UnitControlGrid.Children.Add(vbImage); imageIndex = 0; vbImage.Width = 75; vbImage.Height = 75; vbImage.Stretch = Stretch.Fill; Grid.SetColumn(vbImage, 2); Grid.SetRow(vbImage, 0); MyImage = CreateViewImage(); vbImage.Child = null; vbImage.Child = MyImage; this.AreaComboBox.ItemsSource = Enum.GetValues(typeof(BE1.TypeAreaOfTheCountry)); this.UnitComboBox.ItemsSource = Enum.GetValues(typeof(BE1.TypeOfHostingUnit)); }
private static Brush PrepareBrush(string value) { TextBlock textBlock = new TextBlock() { Text = value, Background = value == "1" ? Brushes.LawnGreen: Brushes.Yellow }; Size size = new Size(40, 40); Viewbox viewBox = new Viewbox(); viewBox.Child = textBlock; viewBox.Measure(size); viewBox.Arrange(new Rect(size)); RenderTargetBitmap bitmap = new RenderTargetBitmap(35, 40, 80, 80, PixelFormats.Pbgra32); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); bitmap.Render(viewBox); return(new ImageBrush(bitmap)); }
public void TestEllipseInViewBox() { Viewbox vb = new Viewbox(); vb.Height = 300; vb.Width = 300; vb.Stretch = Stretch.Fill; Ellipse eip = new Ellipse(); eip.Fill = new SolidColorBrush(Colors.Purple); eip.Height = 150; eip.Width = 150; vb.Child = eip; ContentPresenter cp = new ContentPresenter(); ScaleTransform st = new ScaleTransform(); TestAsync( vb, () => cp = (ContentPresenter)VisualTreeHelper.GetParent(eip), () => st = cp.RenderTransform as ScaleTransform, () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualHeight, eip.ActualHeight * st.ScaleY)), () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualWidth, eip.ActualWidth * st.ScaleX))); }
public void TestImageInViewBox() { Viewbox vb = new Viewbox(); vb.Height = 400; vb.Width = 400; vb.Stretch = Stretch.Fill; Image image = CreateImage(@"Microsoft.Windows.Controls.Testing.", "Viewbox.Bamboo.jpg"); vb.Child = image; ContentPresenter cp = new ContentPresenter(); ScaleTransform st = new ScaleTransform(); TestAsync( vb, () => cp = (ContentPresenter)VisualTreeHelper.GetParent(image), () => st = cp.RenderTransform as ScaleTransform, () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualHeight, image.ActualHeight * st.ScaleY)), () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualWidth, image.ActualWidth * st.ScaleX))); }
public void TestViewBoxUniformStretch() { Viewbox vb = new Viewbox(); vb.Height = 300; vb.Width = 300; vb.Stretch = Stretch.Uniform; CheckBox cb = new CheckBox(); cb.Content = "Check box"; vb.Child = cb; Point pt = new Point(); Grid cp = new Grid(); TestAsync( vb, () => cp = (Grid)VisualTreeHelper.GetParent(vb), () => pt = vb.TransformToVisual(cp).Transform(new Point(0, 0)), () => Assert.IsTrue(TestExtensions.AreClose((cp.ActualHeight - vb.ActualHeight) / 2, pt.Y))); }
public void TestRectangleInViewBox() { Viewbox vb = new Viewbox(); vb.Height = 300; vb.Width = 300; vb.Stretch = Stretch.Fill; Rectangle rect = new Rectangle(); rect.Fill = new SolidColorBrush(Colors.Yellow); rect.Height = 120; rect.Width = 120; vb.Child = rect; ContentPresenter cp = new ContentPresenter(); ScaleTransform st = new ScaleTransform(); TestAsync( vb, () => cp = (ContentPresenter)VisualTreeHelper.GetParent(rect), () => st = cp.RenderTransform as ScaleTransform, () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualHeight, rect.ActualHeight * st.ScaleY)), () => Assert.IsTrue(TestExtensions.AreClose(vb.ActualWidth, rect.ActualWidth * st.ScaleX))); }