У меня есть очень простой сценарий PowerShell, который загружает макет xaml. вызывает эту ошибку:
Исключение, вызывающее «Загрузить» с аргументом (ами) «1»:
"не удается создать экземпляр Window", определенный в
сборка 'PresentationFramework, Version = 3.0.0.0,
Культура = нейтральный, PublicKeyToken = 31bf3856ad364e35 '.
Вызывающий поток должен быть STA, потому что этого требуют многие компоненты пользовательского интерфейса. "
Я просматривал скрипт и файлы xaml несколько раз, но не вижу, в чем проблема, и не помогает то, что я не совсем понимаю, что означает получаемая ошибка. . Любая помощь будет принята с благодарностью. Спасибо.
Скрипт Powershell:
Add-Type -AssemblyName presentationframework
$xaml = [xml](Get-Content MainWindow.xaml)
$reader = New-Object System.Xml.XmlNodeReader $xaml
$form = [Windows.Markup.XamlReader]::Load($reader)
$button = $form.FindName('testButton')
$button.Add_Click({
$s = $form.FindName('testBox').Text;
$form.FindName('testLabel').Content = $s;
})
$form.ShowDialog()
Xaml-файл:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">
<Grid x:Name="LayoutRoot">
<TextBox x:Name="testBox" HorizontalAlignment="Left"
Margin="26.782,48.626,0,0" TextWrapping="Wrap"
Text="New label text" VerticalAlignment="Top" Width="130.22"/>
<Label x:Name="testLabel" Content="User Search" HorizontalAlignment="Left"
Margin="20.666,22.666,0,0" VerticalAlignment="Top"/>
<Button x:Name="testButton" Content="Change It!" HorizontalAlignment="Left"
Margin="26.782,85,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
</Window>