Зарегистрированные в элементах TextBox обработчики событий TextChanged заполните в файле Window1.xaml.cs
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes; namespace WpfText1{ public partial class Window1 : Window { public Window1() { InitializeComponent(); // Заполняем коллекции и подключаем их к спискам ListBox this.fontFamilyListBox.ItemsSource = FontPropertyLists.FontFaces; this.fontWeightListBox.ItemsSource = FontPropertyLists.FontWeights; this.fontSizeListBox.ItemsSource = FontPropertyLists.FontSizes; // Выполняется после XAML this.fontSizeListBox.SelectedIndex = this.fontSizeListBox.Items.Count - 1; this.fontSizeListBox.ScrollIntoView(this.fontSizeListBox.Items.Count - 1); } // Сокрытие унаследованных от Window одноименных свойств new public FontFamily FontFamily { get { return (FontFamily)this.fontFamilyListBox.SelectedItem; } set { this.fontFamilyListBox.SelectedItem = value; // Выделить this.fontFamilyListBox.ScrollIntoView(value); // Прокрутить до видимого } } new public FontWeight FontWeight { get { return (FontWeight)this.fontWeightListBox.SelectedItem; } set { this.fontWeightListBox.SelectedItem = value; // Выделить this.fontWeightListBox.ScrollIntoView(value); // Прокрутить до видимого } } new public double FontSize { get { return (double)this.fontSizeListBox.SelectedItem; } set { this.fontSizeListBox.SelectedItem = value; // Выделить this.fontSizeListBox.ScrollIntoView(value); // Прокрутить до видимого } } private void fontFamilyTextBox_TextChanged(object sender, TextChangedEventArgs e) { // Привести ListBox в соответствие с содержимым TextBox this.FontFamily = new FontFamily(this.fontFamilyTextBox.Text); } private void fontWeightTextBox_TextChanged(object sender, TextChangedEventArgs e) { // Привести ListBox в соответствие с содержимым TextBox if (FontPropertyLists.CanParseFontWeight(this.fontWeightTextBox.Text)) { this.FontWeight = FontPropertyLists.ParseFontWeight(this.fontWeightTextBox.Text); } } private void fontSizeTextBox_TextChanged(object sender, TextChangedEventArgs e) { // Привести ListBox в соответствие с содержимым TextBox double fontSize; if (double.TryParse(this.fontSizeTextBox.Text, out fontSize)) { this.FontSize = fontSize; // В поле действительно число } } }}
Запустите проект - получим инструмент для просмотра основных атрибутов библиотечного текстового элемента Label
Обратите внимание, как компоновка окна сохраняется при изменении его размеров и что окно имеет минимальный размер. Разберитесь с кодом разметки и процедурным кодом C#