컨트롤러를 지원하기 위해 UWP 앱에 MenuFlyout을 추가하려고합니다. 문제는 어떤 ListViewItem이 이벤트를 실제로 트리거했는지 확인하는 방법을 파악할 수 없다는 것입니다.ContextFlyout을 ListView와 함께 어떻게 사용합니까?
코드 숨김
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.DataContext = new List<String>{ "Item 1", "Item 2", "Item 3"};
}
private void ChoiceA_Click(object sender, RoutedEventArgs e)
{
// What was clicked?
}
}
XAML
<ListView ItemsSource="{Binding}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="ContextFlyout">
<Setter.Value>
<MenuFlyout>
<MenuFlyoutItem Text="Choice A" Click="ChoiceA_Click" />
<MenuFlyoutItem Text="Choice B" />
</MenuFlyout>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
이것은 오른쪽 탭에서 작동하지만, X 박스 컨트롤러의 메뉴 버튼은 이벤트를 트리거하지 않습니다. – Johnny
예제를 사용하여 FocusManager를 사용하여 포커스가있는 항목을 얻을 수 있다고 생각했습니다. 페이지에 대한 GotFocus 이벤트 개인 무효 Page_GotFocus (개체를 보낸 사람, RoutedEventArgs e)에 에 { 경우 (ListViewItem이 같은 FocusManager.GetFocusedElement()! = null가) { // 물건을 할 } } – Johnny