583 lines
39 KiB
XML
583 lines
39 KiB
XML
<!--
|
|
|
|
File: MainWindow.xaml
|
|
Modified Date: 2023-12-07
|
|
Author: Jeremy Crabtree <jcrabtree at nct911 org> / <jeremylc at gmail>
|
|
Purpose: Main Program window for the PoSH GUI Template
|
|
Copyright 2023 NCT 9-1-1
|
|
|
|
-->
|
|
|
|
<Window
|
|
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.ouwpgrouprg/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:PoSH_GUI_Template"
|
|
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
|
xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
x:Class="System.Windows.Window"
|
|
Title="PI v7"
|
|
Width="800"
|
|
MinWidth="800"
|
|
Height="800"
|
|
MinHeight="800"
|
|
Name="DeploymentWindow"
|
|
AllowsTransparency="True"
|
|
BorderThickness="0"
|
|
WindowStartupLocation="CenterScreen"
|
|
ResizeMode="CanResize"
|
|
WindowStyle="None"
|
|
Background="Transparent">
|
|
<Window.Resources><!-- Empty Resources -->
|
|
</Window.Resources>
|
|
<WindowChrome.WindowChrome>
|
|
<WindowChrome CaptionHeight="{StaticResource TitleBarHeight}"
|
|
ResizeBorderThickness="{x:Static SystemParameters.WindowResizeBorderThickness}"
|
|
CornerRadius="8" />
|
|
</WindowChrome.WindowChrome>
|
|
<Window.OpacityMask>
|
|
<VisualBrush Visual="{Binding ElementName=WinBorder}" />
|
|
</Window.OpacityMask>
|
|
<Border Name="WinBorder"
|
|
BorderBrush="{Binding Path=BorderBrush, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"
|
|
BorderThickness="1" CornerRadius="8" Background="#FFF3F3F3">
|
|
<Border.Effect>
|
|
<BlurEffect Radius="0" />
|
|
</Border.Effect>
|
|
<Grid Name="MainGrid" Background="Transparent">
|
|
<Grid.Effect>
|
|
<BlurEffect Radius="0" />
|
|
</Grid.Effect>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" Name="MainRow" />
|
|
<RowDefinition Height="20" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" Name="MenuColumn" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- Titlebar dock -->
|
|
<!--
|
|
This is also a grid inside a border to keep the rounded corners.
|
|
-->
|
|
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" CornerRadius="8,8,0,0"
|
|
BorderThickness="0">
|
|
<DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
|
Height="{StaticResource TitleBarHeight}">
|
|
<!--
|
|
This is the "hamburger" button that opens the menu. The open/close menu animation
|
|
is attached to the click event of this button as a trigger.
|
|
-->
|
|
<Button DockPanel.Dock="Left" Name="MenuButton"
|
|
Style="{StaticResource TitleBarButtonStyle}" Tag="Menu"
|
|
HorizontalContentAlignment="Left" Width="46" RenderTransformOrigin="0.5,0.5">
|
|
<Button.RenderTransform>
|
|
<TransformGroup>
|
|
<RotateTransform x:Name="MenuButtonRotate" Angle="0" />
|
|
</TransformGroup>
|
|
</Button.RenderTransform>
|
|
<Button.Triggers>
|
|
<EventTrigger RoutedEvent="Button.Click">
|
|
<BeginStoryboard>
|
|
<Storyboard Name="MenuOpen">
|
|
<ParallelTimeline>
|
|
<DoubleAnimation Name="MenuToggle"
|
|
Storyboard.TargetName="MenuBorder"
|
|
Storyboard.TargetProperty="Width" From="0" To="150"
|
|
Duration="0:0:0.25" AutoReverse="False">
|
|
<DoubleAnimation.EasingFunction>
|
|
<QuinticEase EasingMode="EaseInOut" />
|
|
</DoubleAnimation.EasingFunction>
|
|
</DoubleAnimation>
|
|
<DoubleAnimation Name="BurgerFlipper"
|
|
Storyboard.TargetName="MenuButtonRotate"
|
|
Storyboard.TargetProperty="Angle" From="0" To="90"
|
|
Duration="0:0:0.25" AutoReverse="False" />
|
|
<DoubleAnimation Name="BlurPanel"
|
|
Storyboard.TargetName="MainDockBlur"
|
|
Storyboard.TargetProperty="Radius" From="0" To="10"
|
|
Duration="0:0:0.25" AutoReverse="False" />
|
|
</ParallelTimeline>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
</Button.Triggers>
|
|
</Button>
|
|
|
|
<!-- These are the standard Window control buttons -->
|
|
<Button DockPanel.Dock="Right" Name="CloseButton"
|
|
Style="{StaticResource TitleBarButtonStyle}" Tag="Close" />
|
|
<Button DockPanel.Dock="Right" Name="MaximizeButton"
|
|
Style="{StaticResource TitleBarButtonStyle}" Tag="Maximize" />
|
|
<Button DockPanel.Dock="Right" Name="RestoreButton"
|
|
Style="{StaticResource TitleBarButtonStyle}" Tag="Restore"
|
|
Visibility="Collapsed" />
|
|
<Button DockPanel.Dock="Right" Name="MinimizeButton"
|
|
Style="{StaticResource TitleBarButtonStyle}" Tag="Minimize" />
|
|
|
|
<!-- Window TitleBar text -->
|
|
<TextBlock DockPanel.Dock="Left" Margin="8,0" Padding="0"
|
|
Text="{Binding Title, RelativeSource={RelativeSource AncestorType=Window}}"
|
|
TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Style.Triggers>
|
|
<DataTrigger
|
|
Binding="{Binding IsActive, RelativeSource={RelativeSource AncestorType=Window}}"
|
|
Value="False">
|
|
<Setter Property="Foreground" Value="#FFAAAAAA" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<!-- Lefthand menu dock -->
|
|
<Border Name="MenuBorder" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1"
|
|
Grid.RowSpan="1" Margin="0,0,0,0" Background="White" BorderThickness="0,1,1,1"
|
|
CornerRadius="0,4,4,0" BorderBrush="#FFC8C8C8" Panel.ZIndex="10"
|
|
HorizontalAlignment="Left" Width="0">
|
|
<Border.Effect>
|
|
<DropShadowEffect Opacity="0.5" BlurRadius="20" />
|
|
</Border.Effect>
|
|
<DockPanel Name="MenuDock" Margin="0,0,0,0">
|
|
<StackPanel Margin="10,0,10,0" Orientation="Vertical">
|
|
<Button Name="SaveLogs" DockPanel.Dock="Top" Content="Save Logs"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Rectangle Height="1" Margin="0,10,0,10" DockPanel.Dock="Top"
|
|
Stroke="#FFC8C8C8" />
|
|
<Button Name="MenuOptionen" DockPanel.Dock="Top" Content="Optionen"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Rectangle Height="1" Margin="0,10,0,10" DockPanel.Dock="Top"
|
|
Stroke="#FFC8C8C8" />
|
|
<Button Name="MenuAllgemein" DockPanel.Dock="Top" Content="Allgemein"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Button Name="MenuComputer" DockPanel.Dock="Top" Content="Computer"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Button Name="MenuBenutzer" DockPanel.Dock="Top" Content="Benutzer"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Button Name="MenuGruppen" DockPanel.Dock="Top" Content="Gruppen"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Button Name="MenuServer" DockPanel.Dock="Top" Content="Server"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Button Name="MenuDienststellen" DockPanel.Dock="Top"
|
|
Content="Dienststellen"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
<Rectangle Height="1" Margin="0,10,0,10" DockPanel.Dock="Top"
|
|
Stroke="#FFC8C8C8" />
|
|
<Button Name="MenuExit" DockPanel.Dock="Top" Content="Exit"
|
|
Style="{StaticResource MenuBarButtonStyle}" />
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<!-- Main Tab Panel -->
|
|
|
|
<TabControl Name="TabControl" Margin="0" Grid.Row="1" Grid.Column="1"
|
|
Grid.ColumnSpan="2">
|
|
<TabControl.ItemContainerStyle>
|
|
<Style TargetType="{x:Type TabItem}">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</Style>
|
|
</TabControl.ItemContainerStyle>
|
|
<TabControl.Effect>
|
|
<BlurEffect x:Name="MainDockBlur" Radius="0" />
|
|
</TabControl.Effect>
|
|
<TabItem Header="Allgemein">
|
|
<Border Margin="0" BorderThickness="0">
|
|
<DockPanel Margin="0">
|
|
<DockPanel Margin="10,0,10,0" DockPanel.Dock="Top">
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Right"
|
|
HorizontalAlignment="Stretch">
|
|
<GroupBox Margin="0" VerticalAlignment="Center"
|
|
HorizontalAlignment="Stretch">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Allgemein" FontSize="14"
|
|
FontWeight="Bold" Padding="4,4,0,0"
|
|
VerticalContentAlignment="Center" />
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</DockPanel>
|
|
</Border>
|
|
</TabItem>
|
|
<TabItem Header="Computer">
|
|
<Border Margin="0" BorderThickness="0">
|
|
<DockPanel Margin="0">
|
|
<DockPanel Margin="10,0,10,0" DockPanel.Dock="Top">
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Left"
|
|
HorizontalAlignment="Left" VerticalAlignment="Top" Height="500">
|
|
<GroupBox Margin="0" VerticalAlignment="Center"
|
|
HorizontalAlignment="Stretch">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock TextAlignment="Center" Margin="0"
|
|
FontSize="14">
|
|
<Run Text="Suche" Foreground="Black" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top">
|
|
<Label Content="ComboBox 1" Margin="0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top" />
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Margin="0,5,0,0" VerticalAlignment="Center"
|
|
HorizontalAlignment="Stretch">
|
|
<!-- <GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock TextAlignment="Center" Margin="0"
|
|
FontSize="14">
|
|
<Run Text="Aktionen" Foreground="Black" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</GroupBox.Header> -->
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="150" />
|
|
<ColumnDefinition Width="150" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Button Grid.Row="0" Grid.Column="0" Name="Ping"
|
|
Content="Ping"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="0" Grid.Column="1" Name="Aktion2"
|
|
Content="Aktion 2"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="1" Grid.Column="0" Name="Aktion3"
|
|
Content="Aktion 3"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="1" Grid.Column="1" Name="Aktion4"
|
|
Content="Aktion 4"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="2" Grid.Column="0" Name="Aktion5"
|
|
Content="Aktion 5"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="2" Grid.Column="1" Name="Aktion6"
|
|
Content="Aktion 6"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="3" Grid.Column="0" Name="Aktion7"
|
|
Content="Aktion 7"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
<Button Grid.Row="3" Grid.Column="1" Name="Aktion8"
|
|
Content="Aktion 8"
|
|
HorizontalAlignment="Stretch" Height="30"
|
|
FontSize="14"
|
|
FontWeight="Normal" Margin="5,10,5,0"
|
|
IsEnabled="True" />
|
|
</Grid>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
<GroupBox DockPanel.Dock="Right" HorizontalAlignment="Stretch"
|
|
Margin="5,0,0,0">
|
|
<!-- <GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock TextAlignment="Center" Margin="0"
|
|
FontSize="14">
|
|
<Run Text="Computeranzeige" Foreground="Black" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</GroupBox.Header> -->
|
|
<DockPanel HorizontalAlignment="Stretch" Margin="0,0,8,0">
|
|
<ScrollViewer HorizontalScrollBarVisibility="Auto"
|
|
VerticalScrollBarVisibility="Auto">
|
|
<DataGrid
|
|
Name="ComputerGrid"
|
|
Margin="0,10,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Top"
|
|
AutoGenerateColumns="False"
|
|
FrozenColumnCount="3"
|
|
AlternationCount="2"
|
|
GridLinesVisibility="None"
|
|
DockPanel.Dock="Top"
|
|
BorderBrush="{x:Null}"
|
|
BorderThickness="0"
|
|
Grid.Row="1"
|
|
RowHeaderWidth="0"
|
|
CanUserAddRows="True"
|
|
SelectionMode="Single"
|
|
IsReadOnly="True"
|
|
ScrollViewer.CanContentScroll="True"
|
|
ScrollViewer.VerticalScrollBarVisibility="Disabled"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="Ping"
|
|
Width="Auto">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox Name="PingCheckBox"
|
|
IsChecked="{Binding Path=Ping, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
|
|
Style="{DynamicResource ToggleSwitch}"
|
|
IsEnabled="{Binding Path=EnableCheckbox, Mode=OneWay}" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Computername"
|
|
Width="Auto"
|
|
Binding="{Binding Path=Computername, Mode=TwoWay, NotifyOnSourceUpdated=True}" />
|
|
<DataGridTextColumn Header="Anwender"
|
|
Width="Auto"
|
|
Binding="{Binding Path=Anwender, Mode=TwoWay, NotifyOnSourceUpdated=True}">
|
|
</DataGridTextColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
<GroupBox DockPanel.Dock="Top" Margin="10,10,10,0"
|
|
Padding="8,0,8,8">
|
|
<RichTextBox Name="OutputComputer" FontSize="12"
|
|
FontFamily="Consolas"
|
|
Background="{x:Null}" BorderBrush="{x:Null}" IsReadOnly="True"
|
|
BorderThickness="0" VerticalScrollBarVisibility="Auto"
|
|
Block.LineHeight="2">
|
|
</RichTextBox>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</Border>
|
|
</TabItem>
|
|
<TabItem Header="Benutzer">
|
|
<Border Margin="0" BorderThickness="0">
|
|
<DockPanel Margin="0">
|
|
<DockPanel Margin="10,0,10,0" DockPanel.Dock="Top">
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Left"
|
|
HorizontalAlignment="Left" VerticalAlignment="Top">
|
|
<GroupBox Margin="0" VerticalAlignment="Center"
|
|
HorizontalAlignment="Stretch">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox Name="Group1" Content="Enable This Group"
|
|
Padding="4,0,0,0"
|
|
VerticalContentAlignment="Center"
|
|
Style="{DynamicResource ToggleSwitch}"
|
|
FontSize="14" />
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top"
|
|
IsEnabled="{Binding ElementName=Group1, Path=IsChecked}">
|
|
<Label Content="ComboBox 1" Margin="0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top" />
|
|
<ComboBox Name="ComboBox1" HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Top" />
|
|
<Label Content="ComboxBox 2" Margin="0"
|
|
HorizontalAlignment="Left" VerticalAlignment="Top" />
|
|
<ComboBox Name="ComboBox2"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Top" />
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Margin="0,5,0,0" VerticalAlignment="Center"
|
|
HorizontalAlignment="Stretch">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox Name="Group2"
|
|
Content="Group 2" Padding="4,0,0,0"
|
|
VerticalContentAlignment="Center"
|
|
Style="{DynamicResource ToggleSwitch}"
|
|
FontSize="14" />
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top"
|
|
IsEnabled="{Binding ElementName=Group2, Path=IsChecked}">
|
|
<Label Content="TextBox1" Margin="0"
|
|
HorizontalAlignment="Left" VerticalAlignment="Top" />
|
|
<TextBox Name="TextBox1" Margin="0,4,0,0" />
|
|
<CheckBox Name="CheckBox1" Content="Example CheckBox "
|
|
IsChecked="True" Margin="0,5,0,0" />
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Margin="0,5,0,0" Name="CredentialsGroup"
|
|
IsEnabled="{Binding ElementName=Group1, Path=IsChecked}"
|
|
VerticalAlignment="Center" HorizontalAlignment="Stretch">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal"
|
|
HorizontalAlignment="Center">
|
|
<TextBlock TextAlignment="Center" Margin="0"
|
|
FontSize="14">
|
|
<Run Text="Credentials (" Foreground="Black" />
|
|
<Run Text="REQUIRED" Foreground="Red" />
|
|
<Run Text=")" Foreground="Black" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<DockPanel Margin="0,4,0,0">
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top">
|
|
<Label Content="Domain" />
|
|
<ComboBox Name="UserDomain" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top">
|
|
<Label Content="Username" />
|
|
<TextBox Name="UserName" Text="" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top">
|
|
<Label Content="Password" />
|
|
<PasswordBox Name="Password" />
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
<Button Name="Execute" TabIndex="9" Content="Execute"
|
|
IsDefault="True"
|
|
HorizontalAlignment="Stretch" Height="30" FontSize="14"
|
|
FontWeight="Normal" Margin="0,10,0,0" IsEnabled="True" />
|
|
<CheckBox Name="RebootRequired" Visibility="Collapsed"
|
|
IsChecked="False" />
|
|
</StackPanel>
|
|
<GroupBox DockPanel.Dock="Right" HorizontalAlignment="Stretch"
|
|
Margin="5,0,0,0">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox Name="Group3" Content="Group 3"
|
|
Padding="4,0,0,0" VerticalContentAlignment="Center"
|
|
Style="{DynamicResource ToggleSwitch}" FontSize="14" />
|
|
</StackPanel>
|
|
|
|
</GroupBox.Header>
|
|
<DockPanel HorizontalAlignment="Stretch" Margin="0,0,8,0"
|
|
IsEnabled="{Binding ElementName=Group3, Path=IsChecked}">
|
|
<Button Name="SetPath" DockPanel.Dock="Top" TabIndex="1"
|
|
Content="Select Path" HorizontalAlignment="Left"
|
|
Margin="0,10,0,0" VerticalAlignment="Top" Width="137"
|
|
Height="30" FontSize="14" FontWeight="Normal" />
|
|
<TextBox Name="TextBox2" DockPanel.Dock="Top"
|
|
HorizontalAlignment="Stretch" Margin="0,5,0,0"
|
|
TextWrapping="Wrap" Text=" " VerticalAlignment="Top"
|
|
IsReadOnly="True" />
|
|
<ScrollViewer HorizontalScrollBarVisibility="Auto"
|
|
VerticalScrollBarVisibility="Auto">
|
|
<DataGrid
|
|
Name="ExampleGrid"
|
|
Margin="0,10,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Top"
|
|
AutoGenerateColumns="False"
|
|
FrozenColumnCount="4"
|
|
AlternationCount="2"
|
|
GridLinesVisibility="None"
|
|
DockPanel.Dock="Top"
|
|
BorderBrush="{x:Null}"
|
|
BorderThickness="0"
|
|
Grid.Row="1"
|
|
RowHeaderWidth="0"
|
|
CanUserAddRows="False"
|
|
SelectionMode="Single"
|
|
IsReadOnly="True"
|
|
ScrollViewer.CanContentScroll="True"
|
|
ScrollViewer.VerticalScrollBarVisibility="Disabled"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="ToggleSwitch">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox Name="CheckBox"
|
|
IsChecked="{Binding Path=Checkbox, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
|
|
Style="{DynamicResource ToggleSwitch}"
|
|
IsEnabled="{Binding Path=EnableCheckbox, Mode=OneWay}" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Description"
|
|
Width="Auto"
|
|
Binding="{Binding Path=Description, Mode=TwoWay, NotifyOnSourceUpdated=True}" />
|
|
<DataGridTextColumn Header="Filename"
|
|
Width="Auto"
|
|
Binding="{Binding Path=Filename, Mode=TwoWay, NotifyOnSourceUpdated=True}">
|
|
<DataGridTextColumn.CellStyle>
|
|
<Style TargetType="DataGridCell">
|
|
<Style.Triggers>
|
|
<DataTrigger
|
|
Binding="{Binding Path=RowIsValid}"
|
|
Value="True">
|
|
<Setter
|
|
Property="Foreground"
|
|
Value="Black" />
|
|
</DataTrigger>
|
|
<DataTrigger
|
|
Binding="{Binding Path=RowIsValid}"
|
|
Value="False">
|
|
<Setter
|
|
Property="Foreground"
|
|
Value="Red" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</DataGridTextColumn.CellStyle>
|
|
</DataGridTextColumn>
|
|
<DataGridTextColumn Header="Extra Info"
|
|
Width="Auto"
|
|
Binding="{Binding Path=ExtraInfo, Mode=TwoWay, NotifyOnSourceUpdated=True}" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
<GroupBox DockPanel.Dock="Top" Margin="10,10,10,0" Padding="8,0,8,8">
|
|
<RichTextBox Name="Output" FontSize="12" FontFamily="Consolas"
|
|
Background="{x:Null}" BorderBrush="{x:Null}" IsReadOnly="True"
|
|
BorderThickness="0" VerticalScrollBarVisibility="Auto"
|
|
Block.LineHeight="2">
|
|
</RichTextBox>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</Border>
|
|
</TabItem>
|
|
</TabControl>
|
|
|
|
<!-- Status Area -->
|
|
<Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="10,0,10,0"
|
|
BorderThickness="0" CornerRadius="8" HorizontalAlignment="Stretch">
|
|
<StatusBar Name="StatusArea" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3"
|
|
Background="{x:Null}">
|
|
<StatusBarItem>
|
|
<ProgressBar Name="Progress" Value="0" />
|
|
</StatusBarItem>
|
|
<StatusBarItem>
|
|
<TextBlock Name="StatusText" Text="Ready." FontFamily="Verdana" />
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
</Border>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Window> |