このPowershell関数コードブロックでフォルダを選択しました。次に、XAMLファイルを参照する2つの変数(sourcePath、source)を追加しました。ユーザーが "OK"を押すと、選択したフォルダパスを別のリストボックス "$ sourcePath"に表示する必要があります。私はリストボックスを "$ objForm.SelectedPath"の後ろに "$ sourcePath.Write($ objForm.SelectedPath)"と呼んでみました。私は何か間違っているが、それを修正する方法を知らない。ありがとうございました。powershellとWPFを使用してリストボックスに選択したディレクトリパスを表示する方法
$XAML = @'
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Choose Folder" Height="350" Width="500">
<StackPanel>
<Button x:Name="choose" Content="choose" HorizontalAlignment="Left"
Margin="42,108,0,0" VerticalAlignment="Top" Width="121" />
<ListBox x:Name="sourcePath" HorizontalAlignment="left" Height="45"
Margin="42,120,0,0" VerticalAlignment="Top" Width="400"/>
</StackPanel>
</Window>
'@
$sourcePath=$win.Find("sourcePath")
$source=$win.Find("source")
$source.Add_click({Select-FolderDialog})
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
Function Select-FolderDialog
{param([string]$Description="Select Folder",[string]$RootFolder="Desktop")
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog
$objForm.Rootfolder = $RootFolder
$objForm.Description = $Description
$Show = $objForm.ShowDialog()
If ($Show -eq "OK")
{
Return $objForm.SelectedPath
$sourcePath.Write($objForm.SelectedPath)
}
Else
{
Write-Error "Operation cancelled by user."
}
$b = Select-FolderDialog
}
サンプルを修正してください。定義されていないオブジェクトを参照する –
ありがとう、Frode F、PeterXX。私は要求された参照オブジェクトを追加しました。 PeterXXは、私が探していたソリューションを投稿しました。あなたがた両方に感謝します。大変感謝しています。 –