2017-10-11 9 views
0

XAMLコードをインポートするPowerShellスクリプトがあります。ここでは、コードの一部です:MenuItemのクリックは、子アイテムがクリックされたときにのみ有効です。

XAML

<Menu x:Name="menu" DockPanel.Dock="Top"> 
    <MenuItem x:Name="menuFile" Header="File"> 
     <MenuItem x:Name="menuFile_History" Header="_History"/> 
     <MenuItem x:Name="menuFile_Recent" Header="_Recent"> 
      <MenuItem x:Name="menuFile_Recent1"/> 
      <MenuItem x:Name="menuFile_Recent2"/> 
      <MenuItem x:Name="menuFile_Recent3"/> 
      <MenuItem x:Name="menuFile_Recent4"/> 
      <MenuItem x:Name="menuFile_Recent5"/> 
     </MenuItem> 
     <MenuItem x:Name="menuFile_ShowMore" Header="_Show More"/> 
     <MenuItem x:Name="menuFile_FlushDNS" Header="_Flush DNS"/> 
     <MenuItem x:Name="menuFile_KillProcess" Header="Kill Process"/> 
     <Separator/> 
     <MenuItem x:Name="menuFile_Close" Header="_Close"/> 
    </MenuItem> 
    <MenuItem x:Name="menuEdit" Header="Edit"> 
     <MenuItem x:Name="menuEdit_ConvertIP" Header="Convert IP" IsCheckable="True" IsChecked="True"/> 
    </MenuItem> 
    <MenuItem x:Name="menuHelp" Header="Help"> 
     <MenuItem x:Name="menuHelp_About" Header="About"/> 
    </MenuItem> 
</Menu> 

PowerShellの

$menuFile.Add_Click({ 
    $txtInput.Text = "It worked!"  
}) 

問題は、子項目の1つがクリックされた時には、上記のPowerShellのコードが実行のみされていることで、 $ menuFileがクリックされたときではありません。私は見て見て、私はなぜこれが起こっているのか、それを修正する方法を把握することはできません。

ありがとうございました。

+0

'$ txtInput.Text ="これはうまくいきました。現在の動作は、メニューオプションの1つが選択されたときに起こるということです。 – TheMadTechnician

+0

修正します。私は$ txtinputをテストとして使用しています。 Fileメニュー項目をクリックすると$ txtInputが更新されます。実際に何が起こるかは、ファイルメニュー項目をクリックすると何も起こりませんが、子項目(履歴や閉じるなど)の1つをクリックすると$ txtinputが更新されます。 –

答えて

1

Clickとは異なるイベントハンドラを探しています。それからちょうど探し

$menuFile | Get-Member -MemberType Methods -force |?{$_.Name -like 'add*'} 

:あなたは

$menuFile.Add_GotFocus({$txtInput.Text = "It worked!"}) 

はあなたのようなGet-Memberに配管にイベントハンドラを追加することができますすべてのイベントをチェックアウトすることができます代わりにこれをのGotFocusをしたいかthat.TryのようなものキックのためmethodsJustは、私はこれを試みたが、期待どおりに働いた:

$menuFile.Add_GotFocus({$menuFile.FontSize = 16}) 
$menuFile.Add_LostFocus({$menuFile.FontSize = 12}) 

私は[ファイル]メニューをクリックしたときにそれとその子供たちのためのフォントサイズが大きくなったが、WHE n別のメニューに移動したり、フォントサイズをクリックして外してフォントサイズ12に戻しました。

関連する問題