- •Лабораторная работа: Основы wpf Упражнение 1. Кисти в wpf
- •Создание заготовки приложения
- •Страница 1. Использование однородной кисти SolidColorBrush
- •Страница 2. Использование цветов класса Brushes
- •Страница 3. Использование линейной градиентной кисти LinearGradientBrush
- •Страница 4. Периодическая смена направления градиента
- •Страница 5. Ступенчатая закраска градиентами
- •Страница 6. Закраска радиальным градиентом RadialGradientBrush
- •Упражнение 2. Элементы управления Menu, ToolBar, TabControl, ToolTip
- •Упражнение 3. Элементы управления Thumb, Border, Popup
- •Упражнение 4. Элементы управления ScrollViewer, Viewbox и StackPanel
- •Упражнение 5. Менеджер размещения Canvas
- •Упражнение 6. Менеджеры размещения StackPanel и DockPanel
- •Упражнение 7. Менеджеры размещения WrapPanel и UniformGrid
- •Упражнение 8. Панель Grid
- •Создание заготовки приложения
- •Простое применение Grid
- •Автоматическая подстройка под содержимое слотов
- •Жесткая установка размеров ячеек
- •Задание пропорций
- •Одинаковая подстройка под наибольшее содержимое
- •Выравнивание размера столбцов сетки по ключу группы
- •Связывание столбцов многих сеток из многих групп
- •Объединение ячеек сетки и интерактивный разделитель GridSplitter
- •Контрольное задание
- •Упражнение 9. Разработка собственного менеджера размещения MyPanel
Упражнение 4. Элементы управления ScrollViewer, Viewbox и StackPanel
Элемент ScrollViewer прокручивает окно, если интерфейс с дочерними элементами в нем не помещается. Элемент Viewbox принимает одного потомка (можно контейнер) и масштабирует его пропорционально своим размерам.
Добавьте к решению WpfApp новый проект с именем WpfApp4 и назначьте его стартовым
увеличить изображение
Заполните файл разметки следующим кодом
<Window x:Class="WpfApp4.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ScrollViewer, Viewbox, StackPanel" Height="300" Width="300"
Background="LightGray"
>
<TabControl>
<TabItem Header="ScrollViewer">
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Name="textBox" Grid.Row="0" Margin="5" />
<Button Grid.Row="1" Margin="5" Click="Add_Click">Add</Button>
<ListBox Name="listBox" Grid.Row="2" Margin="5" />
</Grid>
</ScrollViewer>
</TabItem>
<TabItem Header="Viewbox">
<Viewbox>
<TextBlock>Текст</TextBlock>
</Viewbox>
</TabItem>
<TabItem Header="StackPanel">
<StackPanel Orientation="Vertical" Background="Aqua">
<Button HorizontalAlignment="Center" Width="75" Margin="5">
Center
</Button>
<Button HorizontalAlignment="Left" Width="75">
<Button.LayoutTransform>
<RotateTransform Angle="-45" />
</Button.LayoutTransform>
Left (-45)
</Button>
<Button HorizontalAlignment="Right" Width="75">
<Button.LayoutTransform>
<RotateTransform Angle="45" />
</Button.LayoutTransform>
Right (45)
</Button>
<Button HorizontalAlignment="Stretch" Margin="5">Stretch</Button>
</StackPanel>
</TabItem>
</TabControl>
</Window>
Заполните кодовую часть следующим кодом
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 WpfApp4
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
textBox.Text = "Привет студентам от Снеткова В.М.!";
}
private void Add_Click(object sender, RoutedEventArgs e)
{
listBox.Items.Add(textBox.Text);
}
}
}
Запустите приложение
Попробуйте порастягивать окно с дочерним элементом Viewbox - этот элемент масштабирует своего потомка
