Всем днем,
Прочитав в Интернете несколько руководств о PowerShell и XAML, я пытаюсь использовать Visual Studio Community для создания графического интерфейса для меня, а затем Visual Studio Code для добавления моего кода PS..
По не зависящим от меня причинам я не могу заставить VSC запустить форму, но тот же код прекрасно работает в ISE.
Я что-то упустил?Приведенный ниже не первый инструмент, над которым я начал работать - только для того, чтобы завершить откат на ISE.
Заранее спасибо - и извинения, если он выглядит невнятным!
[void][System.Reflection.Assembly]::LoadWithPartialName( 'presentationframework' )
[xml]$XAML = @'
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Service Desk Toolbox" Height="650" Width="900" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" WindowStyle="ToolWindow">
<Grid Background="#FF373737">
<TabControl HorizontalAlignment="Left" Height="600" Margin="10,10,10,0" VerticalAlignment="Top" Width="860" Background="#FF21793B" BorderBrush="#FF21793C">
<TabItem Header="New User">
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="#FF21793B" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
<Grid Background="#FF21793B">
<Label Content="Template account search" HorizontalAlignment="Left" Height="25" Margin="26,25,0,0" VerticalAlignment="Top"
Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="TemplateSearch" HorizontalAlignment="Left" Height="20" Margin="26,55,0,0" TextWrapping="Wrap" Text="Search for user"
VerticalAlignment="Top" Width="200" FontSize="10" FontFamily="Open Sans"
/>
<Button Name="Find" Content="Find" HorizontalAlignment="Left" Height="20" Margin="246,55,0,0" VerticalAlignment="Top"
Width="30" FontSize="10" FontFamily="Open Sans"
/>
<TextBox Name="TemplateFN" HorizontalAlignment="Left" Height="20" Margin="26,90,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="200" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<TextBox Name="TemplateUPN" HorizontalAlignment="Left" Height="20" Margin="246,90,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="30" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<TextBox Name="TemplateOU" HorizontalAlignment="Left" Height="20" Margin="26,125,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<Label Content="Full name" HorizontalAlignment="Left" Height="25" Margin="26,155,0,0" VerticalAlignment="Top"
Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewFullName" HorizontalAlignment="Left" Height="20" Margin="26,180,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Username" HorizontalAlignment="Left" Height="25" Margin="26,215,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewUsername" HorizontalAlignment="Left" Height="20" Margin="26,240,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Email Address" HorizontalAlignment="Left" Height="25" Margin="26,275,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewEmail" HorizontalAlignment="Left" Height="20" Margin="26,300,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Line Manager" HorizontalAlignment="Left" Height="25" Margin="26,335,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewManager" HorizontalAlignment="Left" Height="20" Margin="26,360,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Department" HorizontalAlignment="Left" Height="25" Margin="26,395,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewDepartment" HorizontalAlignment="Left" Height="20" Margin="26,420,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Job Title" HorizontalAlignment="Left" Height="25" Margin="26,455,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewJobTitle" HorizontalAlignment="Left" Height="20" Margin="26,480,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="#FF21793B" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
<Grid Background="#FF21793B"/>
</TabItem>
</TabControl>
</Grid>
</Window>
'@
$READER = ( New-Object System.Xml.XmlNodeReader $XAML )
try{
$FORM = [Windows.Markup.XamlReader]::Load( $READER )
}
catch{Write-Host "Unable to load Windows.Markup.XamlReader." }
$XAML.SelectNodes( "//*[@Name]" ) | %{ Set-Variable -Name ( $_.Name ) -Value $FORM.FindName( $_.Name ) }
$FORM.ShowDialog() | Out-Null