You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
673 lines
37 KiB
XML
673 lines
37 KiB
XML
<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.org/markup-compatibility/2006"
|
|
xmlns:scm ="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
|
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
|
|
xmlns:local="clr-namespace:nDisplayLauncher"
|
|
xmlns:conv="clr-namespace:nDisplayLauncher.ValueConversion"
|
|
xmlns:clstr="clr-namespace:nDisplayLauncher.Cluster"
|
|
xmlns:events="clr-namespace:nDisplayLauncher.Cluster.Events"
|
|
xmlns:uictrl="clr-namespace:nDisplayLauncher.UIControl"
|
|
x:Class="nDisplayLauncher.MainWindow"
|
|
mc:Ignorable="d"
|
|
Title="nDisplay Launcher"
|
|
Loaded="Window_Loaded"
|
|
MinWidth="800"
|
|
MinHeight="600" d:DesignHeight="600" ScrollViewer.VerticalScrollBarVisibility="Disabled">
|
|
<Window.Resources>
|
|
|
|
<!--Converters-->
|
|
<BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
|
|
<conv:SizeConverter x:Key="SizeConverter" />
|
|
|
|
<sys:String x:Key="emailRegex">^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@
|
|
[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]
|
|
*[a-zA-Z]$</sys:String>
|
|
|
|
<Style x:Key="CommonStyle" TargetType="{x:Type FrameworkElement}"/>
|
|
<Style x:Key="TabContent" TargetType="{x:Type Grid}">
|
|
<Setter Property="Height" Value="430" />
|
|
<Setter Property="Background" Value="#1C1C1C" />
|
|
</Style>
|
|
|
|
<Style x:Key="ControlsStyle" TargetType="{x:Type Control}" BasedOn="{StaticResource CommonStyle}">
|
|
<Setter Property="Background" Value="#3F3F46" />
|
|
<Setter Property="Margin" Value="2" />
|
|
<Setter Property="Foreground" Value="WhiteSmoke" />
|
|
<Setter Property="BorderBrush" Value="{x:Null}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlsStyle}" >
|
|
<Setter Property="Background" Value="#FF333337" />
|
|
</Style>
|
|
|
|
<Style x:Key="CustomTextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource ControlsStyle}" >
|
|
<Setter Property="Background" Value="#FF333337" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource CommonStyle}">
|
|
<Setter Property="Background" Value="#2D2D30" />
|
|
<Setter Property="Foreground" Value="WhiteSmoke" />
|
|
<Setter Property="BorderBrush" Value="{x:Null}" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Border x:Name="Border" BorderThickness="0"
|
|
Padding="10,5,15,5" Margin="0,0,0,0" >
|
|
<ContentPresenter x:Name="ContentSite" ContentSource="Header" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="TextElement.Foreground" TargetName="ContentSite" Value="WhiteSmoke"/>
|
|
<Setter TargetName="Border" Property="Background" Value="#0079CB"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter Property="TextElement.Foreground" TargetName="ContentSite" Value="WhiteSmoke"/>
|
|
<Setter TargetName="Border" Property="Background" Value="#2D2D30" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type CheckBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="FlowDirection" Value="LeftToRight" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type Menu}" >
|
|
<Setter Property="Background" Value="#2D2D30" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type MenuItem}" >
|
|
<Setter Property="Background" Value="#2D2D30" />
|
|
<Setter Property="Margin" Value="0"/>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource ControlsStyle}" >
|
|
<Setter Property="MinWidth" Value="40" />
|
|
<Setter Property="MaxWidth" Value="200" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
</Style>
|
|
|
|
<Style x:Key="SizeTB" TargetType="{x:Type TextBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="Width" Value="70" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
</Style>
|
|
|
|
<Style x:Key="NameTB" TargetType="{x:Type TextBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="Width" Value="150" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
<Setter Property="BorderBrush" Value="{x:Null}" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type TreeView}" BasedOn="{StaticResource ControlsStyle}">
|
|
|
|
<Setter Property="MinWidth" Value="100" />
|
|
<Setter Property="MaxWidth" Value="200" />
|
|
<Setter Property="Height" Value="300" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type ListBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="MinWidth" Value="100" />
|
|
<Setter Property="MaxWidth" Value="Infinity" />
|
|
<Setter Property="Height" Value="300" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type uictrl:UnselectableListBox}" BasedOn="{StaticResource ControlsStyle}">
|
|
<Setter Property="MinWidth" Value="100" />
|
|
<Setter Property="MaxWidth" Value="200" />
|
|
<Setter Property="Height" Value="300" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type Label}">
|
|
<Setter Property="Foreground" Value="WhiteSmoke" />
|
|
</Style>
|
|
|
|
<ControlTemplate x:Key="MenuItemControlTemplate" TargetType="{x:Type MenuItem}">
|
|
<Grid Margin="10,0">
|
|
<DockPanel>
|
|
<ContentPresenter x:Name="content" ContentSource="Header" />
|
|
</DockPanel>
|
|
<Popup x:Name="PART_Popup" Focusable="false" IsOpen="{Binding IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}" PopupAnimation="{DynamicResource {x:Static SystemParameters.MenuPopupAnimationKey}}" Placement="Bottom" VerticalOffset="-1">
|
|
<Border BorderThickness="0" BorderBrush="White" Background="#2D2D30">
|
|
<ScrollViewer x:Name="SubMenuScrollViewer" CanContentScroll="true" Style="{DynamicResource {ComponentResourceKey ResourceId=MenuScrollViewer, TypeInTargetAssembly={x:Type FrameworkElement}}}">
|
|
<Grid RenderOptions.ClearTypeHint="Enabled">
|
|
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Cycle" Grid.IsSharedSizeScope="true" Margin="2" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.TabNavigation="Cycle"/>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</Border>
|
|
</Popup>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
<ControlTemplate x:Key="CustomCheckBoxControlTemplate" TargetType="{x:Type CheckBox}">
|
|
<Grid x:Name="templateRoot" Background="Transparent" SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border x:Name="checkBoxBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Height="21" Width="21" Margin="5,0">
|
|
<Grid x:Name="markGrid" Margin="0,0,3,0" Width="21" Height="21">
|
|
<Path x:Name="optionMark" Data="M19.43043,2.3829644 L9.1518969,17.722808 8.8077779,17.722808 0,10.116135 2.4867883,6.8598807 8.2883854,11.859559 16.232593,2.9722871E-05 19.43043,2.3829644 z" Fill="#0079CB" Margin="0,0,2.3,2.3" Opacity="0" Stretch="None" VerticalAlignment="Center" HorizontalAlignment="Center" Height="18.7" Width="18.7"/>
|
|
<Rectangle x:Name="indeterminateMark" Fill="#FF212121" Margin="2" Opacity="0"/>
|
|
</Grid>
|
|
</Border>
|
|
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="1" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="2,3,2,-3" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="HasContent" Value="True">
|
|
<Setter Property="FocusVisualStyle">
|
|
<Setter.Value>
|
|
<Style>
|
|
<Setter Property="Control.Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Rectangle Margin="14,0,0,0" SnapsToDevicePixels="True" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Padding" Value="4,-1,0,0"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" TargetName="checkBoxBorder" Value="#FF333337"/>
|
|
<Setter Property="BorderBrush" TargetName="checkBoxBorder" Value="#FF5593FF"/>
|
|
<Setter Property="Fill" TargetName="optionMark" Value="#FF0079CB"/>
|
|
<Setter Property="Fill" TargetName="indeterminateMark" Value="#FF0079CB"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Background" TargetName="checkBoxBorder" Value="#FF333337"/>
|
|
<Setter Property="BorderBrush" TargetName="checkBoxBorder" Value="#FFBCBCBC"/>
|
|
<Setter Property="Fill" TargetName="optionMark" Value="#FF707070"/>
|
|
<Setter Property="Fill" TargetName="indeterminateMark" Value="#FF707070"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="Background" TargetName="checkBoxBorder" Value="#FF333337"/>
|
|
<Setter Property="BorderBrush" TargetName="checkBoxBorder" Value="#FF3C77DD"/>
|
|
<Setter Property="Fill" TargetName="optionMark" Value="#FF0079CB"/>
|
|
<Setter Property="Fill" TargetName="indeterminateMark" Value="#FF0079CB"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter Property="Opacity" TargetName="optionMark" Value="1"/>
|
|
<Setter Property="Opacity" TargetName="indeterminateMark" Value="0"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="{x:Null}">
|
|
<Setter Property="Opacity" TargetName="optionMark" Value="0"/>
|
|
<Setter Property="Opacity" TargetName="indeterminateMark" Value="1"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
<Style x:Key="SubTabItemStyle" TargetType="{x:Type TabItem}" BasedOn="{StaticResource CommonStyle}">
|
|
<Setter Property="Background" Value="#2D2D30" />
|
|
<Setter Property="Foreground" Value="WhiteSmoke" />
|
|
<Setter Property="BorderBrush" Value="{x:Null}" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Border x:Name="Border" BorderThickness="0"
|
|
Padding="5,2,5,2" >
|
|
<ContentPresenter x:Name="ContentSite" ContentSource="Header" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="TextElement.Foreground" TargetName="ContentSite" Value="#0079CB"/>
|
|
<Setter TargetName="Border" Property="Background" Value="#252527"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter Property="TextElement.Foreground" TargetName="ContentSite" Value="WhiteSmoke"/>
|
|
<Setter TargetName="Border" Property="Background" Value="#2D2D30" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
</Style>
|
|
<Style x:Key="TabControlStyle" TargetType="{x:Type TabControl}">
|
|
<Setter Property="Padding" Value="2"/>
|
|
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
|
<Setter Property="Background" Value="{StaticResource TabItem.Selected.Background}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource TabItem.Selected.Border}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabControl}">
|
|
<Grid x:Name="templateRoot" ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition x:Name="ColumnDefinition0"/>
|
|
<ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition x:Name="RowDefinition0" Height="Auto"/>
|
|
<RowDefinition x:Name="RowDefinition1" Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<TabPanel x:Name="headerPanel" Background="Transparent" Grid.Column="0" IsItemsHost="true" Margin="0" Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/>
|
|
<Border x:Name="contentPanel" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained" Grid.Row="1" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local">
|
|
<ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="TabStripPlacement" Value="Bottom">
|
|
<Setter Property="Grid.Row" TargetName="headerPanel" Value="1"/>
|
|
<Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
|
|
<Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
|
|
<Setter Property="Height" TargetName="RowDefinition1" Value="Auto"/>
|
|
<Setter Property="Margin" TargetName="headerPanel" Value="2,0,2,2"/>
|
|
</Trigger>
|
|
<Trigger Property="TabStripPlacement" Value="Left">
|
|
<Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/>
|
|
<Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
|
|
<Setter Property="Grid.Column" TargetName="headerPanel" Value="0"/>
|
|
<Setter Property="Grid.Column" TargetName="contentPanel" Value="1"/>
|
|
<Setter Property="Width" TargetName="ColumnDefinition0" Value="Auto"/>
|
|
<Setter Property="Width" TargetName="ColumnDefinition1" Value="*"/>
|
|
<Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
|
|
<Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
|
|
<Setter Property="Margin" TargetName="headerPanel" Value="2,2,0,2"/>
|
|
</Trigger>
|
|
<Trigger Property="TabStripPlacement" Value="Right">
|
|
<Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/>
|
|
<Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
|
|
<Setter Property="Grid.Column" TargetName="headerPanel" Value="1"/>
|
|
<Setter Property="Grid.Column" TargetName="contentPanel" Value="0"/>
|
|
<Setter Property="Width" TargetName="ColumnDefinition0" Value="*"/>
|
|
<Setter Property="Width" TargetName="ColumnDefinition1" Value="Auto"/>
|
|
<Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
|
|
<Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
|
|
<Setter Property="Margin" TargetName="headerPanel" Value="0,2,2,2"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!--ScrollViewer-->
|
|
<Style TargetType="{x:Type ScrollViewer}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ScrollViewer}">
|
|
<Grid Background="#FF3F3F46">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<ScrollContentPresenter Grid.Column="0" />
|
|
<ScrollBar x:Name="PART_VerticalScrollBar" Grid.Row="0" Grid.Column="1" Value="{TemplateBinding VerticalOffset}" Maximum="{TemplateBinding ScrollableHeight}" ViewportSize="{TemplateBinding ViewportHeight}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
|
|
<ScrollBar x:Name="PART_HorizontalScrollBar" Orientation="Horizontal" Grid.Row="1" Grid.Column="0" Value="{TemplateBinding HorizontalOffset}" Maximum="{TemplateBinding ScrollableWidth}" ViewportSize="{TemplateBinding ViewportWidth}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
|
|
<Rectangle Grid.Row="1" Grid.Column="1" Fill="Transparent"/>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--Scrollbar Thumbs-->
|
|
<Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Thumb}">
|
|
<Grid x:Name="Grid">
|
|
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent" />
|
|
<Border x:Name="Rectangle1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Background="{TemplateBinding Background}" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Tag" Value="Horizontal">
|
|
<Setter TargetName="Rectangle1" Property="Width" Value="Auto" />
|
|
<Setter TargetName="Rectangle1" Property="Height" Value="7" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--ScrollBars-->
|
|
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
|
|
<Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
|
<Setter Property="Foreground" Value="#8C8C8C" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Width" Value="8" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
<Grid x:Name="GridRoot" Width="8" Background="{TemplateBinding Background}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="0.00001*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false">
|
|
<Track.Thumb>
|
|
<Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" />
|
|
</Track.Thumb>
|
|
<Track.IncreaseRepeatButton>
|
|
<RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" />
|
|
</Track.IncreaseRepeatButton>
|
|
<Track.DecreaseRepeatButton>
|
|
<RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" />
|
|
</Track.DecreaseRepeatButton>
|
|
</Track>
|
|
</Grid>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
|
|
<Setter Value="{DynamicResource ButtonSelectBrush}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
|
|
<Setter Value="{DynamicResource DarkBrush}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" />
|
|
</Trigger>
|
|
<Trigger Property="Orientation" Value="Horizontal">
|
|
<Setter TargetName="GridRoot" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter TargetName="PART_Track" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Width" Value="Auto" />
|
|
<Setter Property="Height" Value="8" />
|
|
<Setter TargetName="Thumb" Property="Tag" Value="Horizontal" />
|
|
<Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" />
|
|
<Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
</Window.Resources>
|
|
|
|
<Grid Background="#2D2D30" Margin="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*" MinHeight="150"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TabControl Grid.Row="0" x:Name="tabControl" VerticalAlignment="Top" MinWidth="500" MaxHeight="400" Background="#FF252527" BorderThickness="0,3,0,0" BorderBrush="#0079CB" Margin="10" Padding="0" Style="{DynamicResource TabControlStyle}" >
|
|
<TabItem Header="Launcher" x:Name="CtrlLauncherTab" VerticalAlignment="Top" >
|
|
<Grid Style="{StaticResource TabContent}" Height="Auto">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0" Background="#FF1C1C1C">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="3" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Column="0" Background="#252527">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,0,5,0">
|
|
<Label Grid.Column="0" Grid.Row="0" Content="Render API" Width="81" />
|
|
<ComboBox x:Name="ctrlComboRenderApi" Grid.Column="1" Grid.Row="0" ItemsSource="{Binding RenderApiParams}" SelectedItem="{Binding SelectedRenderApiParam}" DisplayMemberPath="Key" Template="{DynamicResource ComboBoxTemplate}" Width="160"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,5,0">
|
|
<Label Grid.Column="0" Grid.Row="0" Content="Render mode" />
|
|
<ComboBox x:Name="ctrlComboRenderMode" Grid.Column="1" Grid.Row="0" ItemsSource="{Binding RenderModeParams}" SelectedItem="{Binding SelectedRenderModeParam}" DisplayMemberPath="Key" Template="{DynamicResource ComboBoxTemplate}" Width="160"/>
|
|
</StackPanel>
|
|
|
|
<Grid Grid.Row="2" Margin="0,10,5,0" >
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Label Grid.Column="0" Grid.Row="0" Content="Optional parameters:" />
|
|
<CheckBox x:Name="ctrlCheckAllCores" Grid.Row="1" Content="Use All Available Cores" Template="{DynamicResource CustomCheckBoxControlTemplate}" IsChecked="{Binding IsUseAllCores}" />
|
|
<CheckBox x:Name="ctrlCheckNoTexStreaming" Grid.Row="2" Content="No Texture Streaming" Template="{DynamicResource CustomCheckBoxControlTemplate}" IsChecked="{Binding IsNotextureStreaming}" />
|
|
<Label Grid.Row="3" Content="Custom command line arguments:" Padding="5,5,5,2" />
|
|
<TextBox x:Name="ctrlTextCustomArgs" Grid.Row="4" Style="{DynamicResource NameTB}" Width="Auto" Text="{Binding CustomCommonParams, UpdateSourceTrigger=PropertyChanged}" Margin="2" HorizontalAlignment="Stretch" MaxWidth="400" />
|
|
<Label Grid.Row="5" Content="Custom ExecCmds:" Padding="5,5,5,2" />
|
|
<TextBox x:Name="ctrlTextCustomExecCmds" Grid.Row="6" Style="{DynamicResource NameTB}" Width="Auto" Text="{Binding CustomCommonExecCmds, UpdateSourceTrigger=PropertyChanged}" Margin="2" HorizontalAlignment="Stretch" MaxWidth="400" />
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid Grid.Column="1" >
|
|
<Grid Background="#252527" >
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="5" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Label Content="Applications" Grid.Column="0" Grid.Row="0" />
|
|
<ListBox x:Name="ctrlListApps" MinWidth="150" MaxHeight="180" Grid.Column="0" Grid.Row="1" ItemsSource="{Binding Applications}" SelectedItem="{Binding SelectedApplication}" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" UseLayoutRounding="True" ToolTip="List of cluster applications" />
|
|
<Grid Grid.Row="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="0" x:Name="ctrlBtnAddApplication" Content="Add" Template="{DynamicResource ButtonTemplate}" Click="ctrlBtnAddApplication_Click" ToolTip="Add new application to list" />
|
|
<Button Grid.Column="1" x:Name="ctrlDelApplicationBtn" Content="Remove" Template="{DynamicResource ButtonTemplate}" Click="ctrlDelApplicationBtn_Click" ToolTip="Delete selected application" />
|
|
</Grid>
|
|
<Grid Grid.Row="4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="60"/>
|
|
<ColumnDefinition Width="60"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label Content="Config Files" Grid.Column="0" Grid.Row="0"/>
|
|
<ComboBox x:Name="ctrlComboConfigs" Height="Auto" Grid.Column="1" Grid.Row="0" ItemsSource="{Binding Configs}" SelectedItem="{Binding SelectedConfig}" Template="{DynamicResource ComboBoxTemplate}" DropDownOpened="ctrlComboConfigs_DropDownOpened" Width="Auto" MinWidth="150" ToolTip="Select config file" HorizontalAlignment="Stretch" SelectionChanged="ctrlComboConfigs_SelectionChanged" />
|
|
<Button Grid.Column="2" x:Name="ctrlBtnAddConfig" Content="Add" Template="{DynamicResource ButtonTemplate}" ToolTip="Add new application to list" Click="ctrlBtnAddConfig_Click" Padding="3,1" />
|
|
<Button Grid.Column="3" x:Name="ctrlBtnDeleteConfig" Content="Remove" Template="{DynamicResource ButtonTemplate}" ToolTip="Delete selected application" Click="ctrlBtnDeleteConfig_Click" Padding="3,1" />
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Row="0" VerticalAlignment="Stretch" />
|
|
<Grid Grid.Row="1" Margin="0,5,0,2" VerticalAlignment="Top">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="ctrlBtnRun" Content="Run" Grid.Column="0" Template="{DynamicResource ButtonTemplate}" Click="ctrlBtnRun_Click" FontSize="16" Padding="1,3" ToolTip="Run Application" Margin="2" />
|
|
<Button x:Name="ctrlBtnKill" Content="Kill" Grid.Column="1" Template="{DynamicResource ButtonTemplate}" Click="ctrlBtnKill_Click" FontSize="16" Padding="1,3" ToolTip="Kill current application" />
|
|
<Button x:Name="ctrlBtnRestartComputers" Content="Restart nodes" Grid.Column="2" Template="{DynamicResource ButtonTemplate}" FontSize="16" Padding="1,3" ToolTip="Restart cluster nodes" Click="ctrlBtnRestartComputers_Click" />
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Cluster events" x:Name="CtrlClusterEventsTab">
|
|
<Grid Style="{StaticResource TabContent}" Height="Auto" Background="#252527" IsEnabled="{Binding IsCustomLogsUsed}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="30" />
|
|
<RowDefinition Height="300" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="100" />
|
|
<ColumnDefinition Width="100" />
|
|
<ColumnDefinition Width="100" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="100" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button x:Name="ctrlBtnEventNew" Grid.Row="0" Grid.Column="0" Template="{DynamicResource ButtonTemplate}" Content="New" Click="ctrlBtnEventNew_Click" />
|
|
<Button x:Name="ctrlBtnEventModify" Grid.Row="0" Grid.Column="1" Template="{DynamicResource ButtonTemplate}" Content="Modify" Click="ctrlBtnEventModify_Click" />
|
|
<Button x:Name="ctrlBtnEventDelete" Grid.Row="0" Grid.Column="2" Template="{DynamicResource ButtonTemplate}" Content="Delete" Click="ctrlBtnEventDelete_Click" />
|
|
<Button x:Name="ctrlBtnEventSend" Grid.Row="0" Grid.Column="4" Template="{DynamicResource ButtonTemplate}" Content="Send" Click="ctrlBtnEventSend_Click" />
|
|
|
|
<ListView x:Name="ctrlListClusterEvents" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5" MaxHeight="400" ScrollViewer.VerticalScrollBarVisibility="Auto">
|
|
<ListView.View>
|
|
<GridView>
|
|
<GridView.ColumnHeaderContainerStyle>
|
|
<Style>
|
|
<Setter Property="TextElement.FontSize" Value="13" />
|
|
</Style>
|
|
</GridView.ColumnHeaderContainerStyle>
|
|
|
|
<GridViewColumn Header="Category" Width="100" DisplayMemberBinding="{Binding Category}"/>
|
|
<GridViewColumn Header="Type" Width="100" DisplayMemberBinding="{Binding Type}"/>
|
|
<GridViewColumn Header="Name" Width="100" DisplayMemberBinding="{Binding Name}"/>
|
|
<GridViewColumn Header="Json data" Width="Auto" DisplayMemberBinding="{Binding JsonData}"/>
|
|
</GridView>
|
|
</ListView.View>
|
|
</ListView>
|
|
</Grid>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Logs" x:Name="CtrlLogTab">
|
|
<StackPanel Orientation="Vertical" >
|
|
<CheckBox x:Name="ctrlCheckUseCustomLogs" Grid.Row="0" Grid.Column="0" Content="Use custom log settings" Template="{DynamicResource CustomCheckBoxControlTemplate}" IsChecked="{Binding IsCustomLogsUsed}" Margin="2,10,2,5"/>
|
|
|
|
<Grid Style="{StaticResource TabContent}" Height="Auto" Background="#252527" IsEnabled="{Binding IsCustomLogsUsed}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="120" />
|
|
<ColumnDefinition Width="100" />
|
|
<ColumnDefinition Width="50" />
|
|
<ColumnDefinition Width="100" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label Grid.Row="0" Grid.Column="0" Content="General plugin" />
|
|
<ComboBox Grid.Row="0" Grid.Column="1" x:Name="ctrlLogPlugin" SelectedItem="{Binding SelectedVerbocityPlugin}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="1" Grid.Column="0" Content="Engine" />
|
|
<ComboBox Grid.Row="1" Grid.Column="1" x:Name="ctrlLogEngine" SelectedItem="{Binding SelectedVerbocityEngine}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="2" Grid.Column="0" Content="Blueprint" />
|
|
<ComboBox Grid.Row="2" Grid.Column="1" x:Name="ctrlLogBlueprint" SelectedItem="{Binding SelectedVerbocityBlueprint}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="3" Grid.Column="0" Content="Config" />
|
|
<ComboBox Grid.Row="3" Grid.Column="1" x:Name="ctrlLogConfig" SelectedItem="{Binding SelectedVerbocityConfig}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="4" Grid.Column="0" Content="Cluster" />
|
|
<ComboBox Grid.Row="4" Grid.Column="1" x:Name="ctrlLogCluster" SelectedItem="{Binding SelectedVerbocityCluster}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="5" Grid.Column="0" Content="Game" />
|
|
<ComboBox Grid.Row="5" Grid.Column="1" x:Name="ctrlLogGame" SelectedItem="{Binding SelectedVerbocityGame}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="6" Grid.Column="0" Content="Game Mode" />
|
|
<ComboBox Grid.Row="6" Grid.Column="1" x:Name="ctrlLogGameMode" SelectedItem="{Binding SelectedVerbocityGameMode}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="7" Grid.Column="0" Content="Input" />
|
|
<ComboBox Grid.Row="7" Grid.Column="1" x:Name="ctrlLogInput" SelectedItem="{Binding SelectedVerbocityInput}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="8" Grid.Column="0" Content="VRPN" />
|
|
<ComboBox Grid.Row="8" Grid.Column="1" x:Name="ctrlLogVRPN" SelectedItem="{Binding SelectedVerbocityVrpn}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="9" Grid.Column="0" Content="Network" />
|
|
<ComboBox Grid.Row="9" Grid.Column="1" x:Name="ctrlLogNetwork" SelectedItem="{Binding SelectedVerbocityNetwork}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="10" Grid.Column="0" Content="Network Messages" />
|
|
<ComboBox Grid.Row="10" Grid.Column="1" x:Name="ctrlLogNetworkMsg" SelectedItem="{Binding SelectedVerbocityNetworkMsg}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="11" Grid.Column="0" Content="Render" />
|
|
<ComboBox Grid.Row="11" Grid.Column="1" x:Name="ctrlLogRender" SelectedItem="{Binding SelectedVerbocityRender}" ItemsSource="{Binding UE4LogVerbosityEnumTypeValues}" Template="{DynamicResource ComboBoxTemplate}" Width="Auto" HorizontalAlignment="Stretch" />
|
|
|
|
<Label Grid.Row="0" Grid.Column="3" Content="For each:" />
|
|
<Button x:Name="ctrlBtnSetVerbosityAll" Grid.Row="1" Grid.Column="3" Content="All" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityVerbose" Grid.Row="2" Grid.Column="3" Content="Verbose" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityLog" Grid.Row="3" Grid.Column="3" Content="Log" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityDisplay" Grid.Row="4" Grid.Column="3" Content="Display" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityWarning" Grid.Row="5" Grid.Column="3" Content="Warning" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityError" Grid.Row="6" Grid.Column="3" Content="Error" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
<Button x:Name="ctrlBtnSetVerbosityFatal" Grid.Row="7" Grid.Column="3" Content="Fatal" Click="ctrlBtnSetVerbosityAll_Click" />
|
|
</Grid>
|
|
</StackPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
|
|
<Grid Grid.Row="1" MinWidth="200" MinHeight="150">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid Grid.Column="0" Margin="10,5,0,10">
|
|
<ScrollViewer uictrl:AutoScroller.AutoScroll="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >
|
|
<TextBox x:Name="ctrlTextLog" IsReadOnly="True" Text="{Binding LogStr, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" TextWrapping="Wrap" AcceptsReturn="True" CaretIndex="{x:Static sys:Int32.MaxValue}" Foreground="White" ToolTip="Log Window" HorizontalAlignment="Stretch" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Auto" MaxWidth="Infinity" Margin="0" Padding="0,0,0,0" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" />
|
|
</ScrollViewer>
|
|
</Grid>
|
|
|
|
<Grid Grid.Column="1" Margin="5,2,10,10">
|
|
<StackPanel Width="Auto" DockPanel.Dock="Right">
|
|
<Button Grid.Column="0" x:Name="ctrlBtnCopyLog" Content="Copy" Width="100" Template="{DynamicResource ButtonTemplate}" ToolTip="Copy application log to Buffer" Click="ctrlBtnCopyLog_Click" />
|
|
<Button Grid.Column="0" x:Name="ctrlBtnCleanLog" Content="Clean" Width="100" Template="{DynamicResource ButtonTemplate}" ToolTip="Clean log" Click="ctrlBtnCleanLog_Click" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Window>
|