No Description

vlad bc72548c45 update 3 weeks ago
WpfApp1 bc72548c45 update 3 weeks ago
screen bc72548c45 update 3 weeks ago
.gitignore 60c3461e4e Загрузить файлы '' 3 weeks ago
WpfApp1.sln bc72548c45 update 3 weeks ago
readme.md 441f9595d2 Обновить 'readme.md' 4 weeks ago

readme.md

Лабораторная работа "Элементы управления"

Обзор элементов управления и их свойств

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <StackPanel 
        Grid.Column="0" 
        Background="Lavender">
            <Button 
            Visibility="Collapsed" 
            Content="Панель Collapsed" />
            <Button 
            Height="20" 
            Content="Visible Button" />
        </StackPanel>
        <StackPanel 
        Grid.Column="1" 
        Background="LightGreen">
            <Button 
            Visibility="Hidden" 
            Content="Панель Hidden" />
            <Button 
            Height="20" 
            Content="Visible Button" />
        </StackPanel>
    </Grid>
</Window>

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <TextBlock FlowDirection="RightToLeft">
        RightToLeft
        </TextBlock>
        <TextBlock FlowDirection="LeftToRight">
        LeftToRight
        </TextBlock>
    </StackPanel>
</Window>

Элементы управления содержимым

using System;
using System.Windows;
using System.Windows.Controls;

namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            double d = 5.6;
            button1.Content = d;
        }
    }
}

Позиционирование контента

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <Button 
        Margin="5" 
        HorizontalContentAlignment="Left" 
        Content="Left" 
        Height="90" 
        Width="500" />
        <Button 
        Margin="5" 
        HorizontalContentAlignment="Right" 
        Content="Right" 
        Height="90" 
        Width="500" />
        <Button 
        Margin="5" 
        HorizontalContentAlignment="Center" 
        Content="Center" 
        Height="90" 
        Width="500" />
    </StackPanel>
</Window>

Кнопки

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <Button 
    x:Name="button1" 
    Width="60" 
    Height="30" 
    Content="Нажать" 
    Click="Button_Click" />
</Window>
using System.Windows;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click(
object sender,
RoutedEventArgs e
)
        {
            MessageBox.Show("Кнопка нажата");
        }
    }
}

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <Button 
        x:Name="acceptButton" 
        Content="ОК" 
        IsDefault="True" 
        Click="acceptButton_Click" />
        <Button 
        x:Name="escButton" 
        Content="Выход" 
        IsCancel="True" 
        Click="escButton_Click" />
    </StackPanel>
</Window>
using System.Windows;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void acceptButton_Click(
           object sender,
           RoutedEventArgs e)
        {
            MessageBox.Show("Действие выполнено");
        }

        private void escButton_Click(
            object sender,
            RoutedEventArgs e)
        {
            this.Close(); // закрытие окна
        }
    }
}

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <CheckBox 
    x:Name="checkBox" 
    IsChecked="False" 
    Height="20" 
    Content="Флажок"
    IsThreeState="True"
    Unchecked="checkBox_Unchecked"
    Indeterminate="checkBox_Indeterminate"
    Checked="checkBox_Checked" />
</Window>
using System.Windows;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void checkBox_Checked(
     object sender,
     RoutedEventArgs e)
        {
            MessageBox.Show(
                checkBox.Content.ToString() + " отмечен");
        }

        private void checkBox_Unchecked(
            object sender,
            RoutedEventArgs e)
        {
            MessageBox.Show(
                checkBox.Content.ToString() + " не отмечен");
        }

        private void checkBox_Indeterminate(
            object sender,
            RoutedEventArgs e)
        {
            MessageBox.Show(
                checkBox.Content.ToString() + " в неопределенном состоянии");
        }
    }
}

RadioButton

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel x:Name="stackPanel">
        <RadioButton 
        GroupName="Languages" 
        Content="C#" 
        IsChecked="True" />
        <RadioButton 
        GroupName="Languages" 
        Content="VB.NET" />
        <RadioButton 
        GroupName="Languages" 
        Content="C++" />
        <RadioButton 
        GroupName="Technologies" 
        Content="WPF" 
        IsChecked="True" />
        <RadioButton 
        GroupName="Technologies" 
        Content="WinForms" />
        <RadioButton 
        GroupName="Technologies" 
        Content="ASP.NET" />
        <RadioButton 
    GroupName="Languages" 
    Content="VB.NET" 
    Checked="RadioButton_Checked" />
    </StackPanel>
</Window>
using System.Windows;
using System.Windows.Controls;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void RadioButton_Checked(
    object sender,
    RoutedEventArgs e)
        {
            RadioButton pressed = (RadioButton)sender;
            MessageBox.Show(
                pressed.Content.ToString());
        }
    }
}

Текстовые элементы управления

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <TextBox 
MaxLength="250" 
TextChanged="TextBox_TextChanged"
>
        Начальный текст
    </TextBox>
</Window>

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <TextBox 
        x:Name="textBox1" 
        Height="100" SelectionBrush="Blue" />
        <Button 
        Content="Выделить текст" 
        Height="30" 
        Width="100" 
        Click="Button_Click" 
        Margin="10" />
    </StackPanel>
</Window>

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <PasswordBox 
        PasswordChar="*" 
        MinHeight="30" />
        <PasswordBox 
        MinHeight="30" />
    </StackPanel>
</Window>

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        Title="MainWindow" Height="450" Width="800">
    <DockPanel>
        <TextBox
            SpellCheck.IsEnabled="True"
            Language="ru-ru">
            Привет, как дила?
        </TextBox>
    </DockPanel>
</Window>

Элементы управления списками

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <ListBox Name="list" />
    </Grid>
</Window>
using System.Windows;
using System.Windows.Controls;
namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            string[] phones = { "iPhone 6S", "Lumia 950", "Nexus 5X", "LG G4", "Xiaomi MI5", "HTC A9" };
            list.ItemsSource = phones;
        }

    }
}

ComboBox

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <ComboBox 
    Name="phonesList" 
    Height="30" 
    VerticalAlignment="Top"
>
        <TextBlock>LG Nexus 5X</TextBlock>
        <TextBlock>Huawai Nexus 6P</TextBlock>
        <TextBlock>iPhone 6S</TextBlock>
        <TextBlock>iPhone 6S Plus</TextBlock>
        <TextBlock>Microsoft Lumia 950</TextBlock>
    </ComboBox>
</Window>

ComboBoxItem

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <ComboBox
        Height="50"
        Width="150"
        VerticalAlignment="Top">
        <ComboBoxItem IsSelected="True">
            <StackPanel Orientation="Horizontal">
                <Image
                    Source="/cats.jpg"
                    Width="60"/>
                <TextBlock>
                    cats.jpg
                </TextBlock>
            </StackPanel>
        </ComboBoxItem>
        <StackPanel Orientation="Horizontal">
            <Image
                Source="C:\Users\User\source\repos\WpfApp1\WpfApp1\windowcat.jpg"
                Width="60"/>
            <TextBlock>
                    windowcat.jpg
            </TextBlock>
        </StackPanel>
        <StackPanel Orientation="Horizontal">
            <Image 
            Source="/234.jpg" 
            Width="60" />
            <TextBlock>
            234.jpg
            </TextBlock>
        </StackPanel>
    </ComboBox>
</Window>

DataGrid

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib" 
        xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <DataGrid
        x:Name="phonesGrid"
        AutoGenerateColumns="True"
        ItemsSource="{DynamicResource ResourceKey=phones}">
        <DataGrid.Resources>
            <col:ArrayList x:Key="phones">
                <local:Phone
                    Title="iPhone 6S" 
                    Company="Apple" 
                    Price="54990" />
                <local:Phone 
                    Title="Lumia 950" 
                    Company="Microsoft" 
                    Price="39990" />
                <local:Phone 
                    Title="Nexus 5X" 
                    Company="Google" 
                    Price="29990" />
            </col:ArrayList>
        </DataGrid.Resources>
    </DataGrid>
</Window>