タッチ イベントを受信できる WPF でフローティング コントロールを作成しようとしています。私はたくさん検索しましたが、見つけたフローティング コントロールの唯一の解決策はポップアップ コントロールでした。問題: ポップアップ コントロールがタッチ イベントを受信できません。SurfaceListBox
また、ポップアップ内で使用しているため、タッチイベントが必要です。次の方法でポップアップにタッチイベントを受信させようとしました:
TouchExtensions.EnableSurfaceInput((HwndSource)HwndSource.FromVisual(this.selectionListPopup));
しかし、それは何の効果もありませんでした。ポップアップがタッチを受け取れるようにする方法はありますか? 他に使用できるコントロールや方法はありますか?
私の最終的な目標は、コントロールを他のコントロールの上に浮かせることです。つまり、他のコントロールによってクリップされたり、隠されたりすることはありません。
これまでに使用した XAML は次のとおりです。
<Popup Name="selectionListPopup"
PlacementTarget="{Binding ElementName=selectedItemButton}"
Placement="Relative"
VerticalOffset="{Binding ElementName=this, Path=SelectionListTop}"
HorizontalOffset="{Binding ElementName=this, Path=SelectionListLeft}"
IsOpen="{Binding ElementName=this, Path=IsSelecting, Mode=TwoWay}"
StaysOpen="False"
AllowsTransparency="True"
Focusable="False">
<s:SurfaceListBox Name="selectionList"
ItemsSource="{Binding ElementName=this, Path=ItemsSource}"
SelectedItem="{Binding ElementName=this, Path=SelectedItem, Mode=TwoWay}"
SelectionChanged="OnSelectionListSelectionChanged">
</s:SurfaceListBox>
</Popup>