我想添加一個MenuFlyout到我的UWP應用程序來支持一個控制器。問題是,我不知道如何確定哪個ListViewItem實際觸發事件。如何將ListFrameout與ContextFlyout一起使用?
代碼隱藏
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>
這適用於右鍵單擊,但xbox控制器上的菜單按鈕不會觸發事件。 – Johnny
使用你的例子,我想通過使用FocusManager可以獲得焦點的項目。在GotFocus事件的頁面 私人無效Page_GotFocus(對象發件人,RoutedEventArgs E) { 如果(FocusManager.GetFocusedElement()作爲ListViewItem的!= NULL){ // 做的東西 }} – Johnny