StackOverflow でここにある概念を使用します。が にバインドされていることに注意してください。ToggleButton.IsHitTestVisible
Popup.IsOpen
StaysOpen="False"
これは、 の外側のどこかに触れるPopup
と、それが閉じることを意味するはずです。でも...
の をタッチ/クリックしてもListBoxItem
、意図したようItemsControl
に が閉じませんPopup
。内の他の場所に触れると、閉じますPopup
。これがどのように設定されているかによると、それは合計されていないようです。
<Grid ClipToBounds="True">
<Border Name="Root">
<ToggleButton x:Name="PART_Toggle"
ClickMode="Release"
IsHitTestVisible="{Binding ElementName=PART_Popup,
Path=IsOpen,
Mode=OneWay,
Converter={StaticResource BooleanInverter}}"/>
</Border>
<Popup x:Name="PART_Popup"
IsOpen="{Binding ElementName=PART_Toggle,
Path=IsChecked}"
PlacementTarget="{Binding ElementName=PART_Toggle}"
StaysOpen="False">
<Grid Background="Transparent">
<Grid>
<!-- Anything here (outside of the Item) -->
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<!-- Anything in this item template works. The popup does not close -->
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Border>
</Grid>
</Popup>
</Grid>
何か案は?ありがとう。
編集:解決済み
から派生したカスタム コントロール内にあったため、これが発生していたことが判明しましたListBox
。この質問をした時点では関係がないようでした、申し訳ありません。