Tôi đã có một MenuItem whos ItemsSource là databound đến một danh sách đơn giản của chuỗi, nó hiển thị chính xác, nhưng tôi đang đấu tranh để xem làm thế nào tôi có thể xử lý các sự kiện bấm cho họ!Làm cách nào để xử lý các sự kiện bấm trong menu dữ liệu bị ràng buộc trong WPF
Dưới đây là một ứng dụng đơn giản mà thể hiện nó:
<Window x:Class="WPFDataBoundMenu.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Menu>
<MenuItem Header="File" Click="MenuItem_Click" />
<MenuItem Header="My Items" ItemsSource="{Binding Path=MyMenuItems}" />
</Menu>
</Grid>
using System.Collections.Generic;
using System.Windows;
namespace WPFDataBoundMenu
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public List<string> MyMenuItems { get; set;}
public Window1()
{
InitializeComponent();
MyMenuItems = new List<string> { "Item 1", "Item 2", "Item 3" };
DataContext = this;
}
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("how do i handle the other clicks?!");
}
}
}
Rất cám ơn!
Chris.
này vẫn sẽ dẫn đến một handler trung ương, mà chuyển vào giá trị SomeProperty. phải không? – Gishu
Vâng, đúng vậy. Trên thực tế, thông số không bắt buộc. Bạn có thể phân nhánh dựa trên cá thể MenuItem thay vào đó, nhưng tôi đã tìm thấy thường có một đoạn dữ liệu cụ thể cho từng mục menu được yêu cầu. ví dụ. xem xét các mục trình đơn tệp gần đây. Phần thông tin quan trọng là đường dẫn tệp. –
Khi tôi kiểm tra lệnh này sẽ kích hoạt trên cả hai nút chuột trái và phải. Làm cách nào để xác định nút nào được nhấn trong lệnh? – keft