Задал окну содержимое в виде некоего текста:
| Код | using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Media; using System.Windows.Controls; using System.Windows.Documents;
namespace Wpf_via_Sharp { class SharpCodeWindow : Window { public SharpCodeWindow() { Brush brush = Brushes.Red; Background = brush; WindowStyle = WindowStyle.SingleBorderWindow; WindowStartupLocation = WindowStartupLocation.CenterScreen; WindowState = WindowState.Maximized; ShowInTaskbar = true; ResizeMode = ResizeMode.NoResize; Title = "Window via C# 3.0 code only";
System.Windows.Media.FontFamily font = new FontFamily("Arial"); TextBlock txt = new TextBlock(); txt.Inlines.Add("Это текст "); txt.Inlines.Add(new Italic(new Run(" курсив. "))); txt.Inlines.Add("Это текст "); txt.Inlines.Add(new Bold(new Run(" жирный. "))); txt.Inlines.Add("Это текст "); txt.Inlines.Add(new Bold(new Italic(new Run(" жирный курсив. ")))); txt.Inlines.Add(new Underline(new Run("А это подчёркнутый текст."))); txt.FontSize = 30; txt.Inlines.FirstInline.FontSize = 10; txt.Inlines.LastInline.FontFamily = new FontFamily("Times New Roman"); txt.Inlines.LastInline.FontSize = 20; this.Content = txt; this.SizeToContent = SizeToContent.WidthAndHeight; } } }
|
Поначалу все выглядит именно так, как нужно: размеры окна подогнанны под содержимое. Но стоит только взять окно за заголовок, как все тут же сбивается - окно принимает другие размеры, не вписываясь под содержимое. Почему так происходит?
Добавлено @ 21:39 проблема была вызвана наличием строки кода:
| Код | WindowState = WindowState.Maximized;
|
но все равно не ясно - окно ведь не на максимум разворачивалось. почему? Кроме того, с др. стороны последняя команда (this.SizeToContent = SizeToContent.WidthAndHeight;) разве не должна была перекрыть команду WindowState = WindowState.Maximized; ?
Не пойму поведения... |