Загрузка данных


<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow"
        MinWidth="900"
        MinHeight="600"
        WindowState="Maximized">

    <Grid>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="340"/>
            <ColumnDefinition Width="8"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="38"/>
        </Grid.RowDefinitions>

        <StackPanel Grid.Column="0"
                    Margin="12"
                    VerticalAlignment="Center">

            <Border>

                <StackPanel>

                    <StackPanel HorizontalAlignment="Left"
                                Orientation="Horizontal">

                        <Button x:Name="BtnLoad"
                                Width="110"
                                Content="Загрузить"
                                Click="BtnLoad_Click"/>

                        <Button x:Name="BtnApply"
                                Width="110"
                                Content="Применить"
                                IsEnabled="False"
                                Margin="8,0,0,0"
                                Click="BtnApply_Click"/>

                    </StackPanel>

                    <Separator Margin="0,8"/>

                    <TextBlock Margin="2,6"
                               Text="Эффекты"/>

                    <ComboBox x:Name="EffectsCB"
                              SelectedIndex="0">

                        <ComboBoxItem Content="Без эффектов"/>
                        <ComboBoxItem Content="Инверсия"/>
                        <ComboBoxItem Content="Градации серого"/>
                        <ComboBoxItem Content="Сепия"/>
                        <ComboBoxItem Content="Повышенная контрастность"/>

                    </ComboBox>

                    <StackPanel Margin="2,8"
                                VerticalAlignment="Center"
                                Orientation="Horizontal">

                        <CheckBox x:Name="ChkShowOriginal"
                                  VerticalAlignment="Center"
                                  Checked="ChkShowOriginal_Checked"
                                  Unchecked="ChkShowOriginal_Checked"/>

                        <TextBlock Margin="8,0"
                                   VerticalAlignment="Center"
                                   Text="Показать оригинал"/>

                    </StackPanel>

                </StackPanel>

            </Border>

        </StackPanel>

        <GridSplitter Grid.Column="1"
                      Width="6"
                      HorizontalAlignment="Stretch"
                      Background="Transparent"
                      ShowsPreview="True"/>

        <Border Grid.Column="2"
                Margin="12"
                Padding="10"
                Background="White"
                BorderThickness="1"
                CornerRadius="8">

            <Grid>

                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>

                <ScrollViewer HorizontalScrollBarVisibility="Auto"
                              VerticalScrollBarVisibility="Auto">

                    <Border Padding="6"
                            Background="Black"
                            CornerRadius="6">

                        <Viewbox Stretch="Uniform"
                                 StretchDirection="Both">

                            <Image x:Name="PreviewImage"
                                   SnapsToDevicePixels="True"
                                   Stretch="Uniform"
                                   UseLayoutRounding="True">

                                <Image.LayoutTransform>

                                    <ScaleTransform
                                        ScaleX="{Binding Value, ElementName=ZoomSlider}"
                                        ScaleY="{Binding Value, ElementName=ZoomSlider}"/>

                                </Image.LayoutTransform>

                            </Image>

                        </Viewbox>

                    </Border>

                </ScrollViewer>

                <Slider x:Name="ZoomSlider"
                        Grid.Row="1"
                        Minimum="0.1"
                        Maximum="3"
                        Value="1"/>

            </Grid>

        </Border>

    </Grid>

</Window>