私は、グラフィカルな変更のスイッチとして使用されるUserControl内にボーダーコントロールを持っています。 Borderには、 "Open"と "Close"の2つのMenuItemを持つコンテキストメニューがあります。バインディングの変更後にWPFコンテキストメニューがポップアップする
スイッチが閉じているときは、「開く」メニュー項目だけが表示され、スイッチが開いているときは「閉じる」だけが表示されます。一部のスイッチでは、OpenまたはCloseを完全に無効にする必要があるため、いつでも表示させたくありません。ここでは、コードは次のようになります。
<Border.ContextMenu>
<ContextMenu Name="switchContextMenu">
<ContextMenu.Visibility>
<MultiBinding Converter="{StaticResource ContextMenuBoolToVisibility}">
<Binding Path="OpenAvailable" />
<Binding Path="OpenVisible" />
<Binding Path="CloseAvailable" />
<Binding Path="CloseVisible" />
</MultiBinding>
</ContextMenu.Visibility>
<MenuItem Name="miOpen" Header="{Binding Path=Resources.PowerControlSystem_OPEN, Source={StaticResource LocalizedStrings} }"
Click="miOpen_Click">
<MenuItem.Visibility>
<MultiBinding Converter="{StaticResource BooleanToVisibilityMultiValueAND}">
<Binding Path="OpenAvailable" />
<Binding Path="OpenVisible" />
</MultiBinding>
</MenuItem.Visibility>
</MenuItem>
<MenuItem Name="miClose" Header="{Binding Path=Resources.PowerControlSystem_CLOSE, Source={StaticResource LocalizedStrings} }"
Click="miClose_Click">
<MenuItem.Visibility>
<MultiBinding Converter="{StaticResource BooleanToVisibilityMultiValueAND}">
<Binding Path="CloseAvailable" />
<Binding Path="CloseVisible" />
</MultiBinding>
</MenuItem.Visibility>
</MenuItem>
</ContextMenu>
</Border.ContextMenu>
私は、「利用可能なオープン」とプロパティ「利用可能なを閉じて」設定別の.xamlコード内部ので、私は、一般的な構成要素として、このスイッチを使用します。ここに私の問題があります:
私はスイッチがあります。デフォルトでは、このスイッチは開いています。私はそれを閉じ、それはOKです。このスイッチを右クリックすると、コンテキストメニューが表示されなくなります。これもOKです。
問題は、このスイッチが再び開き、いくつかの値を変更したときに、その時点でコンテキストメニューがポップアップすることです。 ContextMenuの可視性のためのコンバータに問題があると私は思う。この時点でトリガされ、ContextMenuが表示されます。
誰でもこの動作を停止する方法がありますか?代わりにContextMenu
可視性を設定するので