Add-Type -AssemblyName PresentationFramework
Add-Type -AssemblyName PresentationCore
Add-Type -AssemblyName WindowsBase
[xml]$xaml = @"
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Name Change" Height="260" Width="800"
x:Name="Window">
<Grid>
<TextBox x:Name="txtUPN" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="32,155,0,0"/>
</Grid>
</Window>
"@
$reader = (New-Object System.Xml.XmlNodeReader $xaml)
$window = [Windows.Markup.XamlReader]::Load($reader)
$upn = $Window.FindName('txtUPN')
$upn.Add_KeyDown(
{if ($_.KeyCode -eq "Enter")
{$upn.Text | Out-Host}})
# KeyDown event fires, but doesn't capture the Enter key
$window.ShowDialog()
Используя Powershell с графическим интерфейсом XAML, у меня есть 3 различных текстовых поля, которые я хотел бы использовать клавишу Enter для запуска вызова функции, но ничего, с чем я сталкиваюсь, похоже, не работает.Что-то я не вижу, какая-то сборка отсутствует?Кажется, ничто не может распознать Enter, и я даже пробовал KeyChar на KeyPress.Я не заинтересован в событии окна формы, я предпочитаю событие текстового поля.Кажется, заставляет вас использовать кнопки.Благодаря.