簡體   English   中英

PowerShell ISE中的XAML代碼在Visual Studio Code中不起作用

[英]XAML code in PowerShell ISE not working in Visual Studio Code

下午好

在在線閱讀了一些有關PowerShell和XAML的指南之后,我正在嘗試使用Visual Studio社區為我創建GUI,然后使用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

您只需在終端中鍵入“。\\ yourscript”(它將使用powershell.exe執行它)。 如果您按F5鍵,它將無法正常工作,恐怕VSCode只能調試控制台應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM