在事件的内容中应用每个项目

时间:2018-04-08 03:08:52

标签: c# wpf

我的第一个问题是如何将内容中的每个项目分配给一个事件。 这意味着每个项目都有自己独立的事件。

我拥有的是RadialMenu。其中包括RadialMenuItems。用户应该能够以他想要的方式添加和删除它们,但事件必须具有相同的功能,但每个项目都是相同的。 (ClickMouseEnterMouseLeave

这是我到目前为止所做的:

var i = 0;

radialMenu.Items.Add(new RadialMenuItem
    {
        Name = "Item" + i,
        Content = new System.Windows.Controls.TextBlock { FontWeight = FontWeights.Bold, Foreground = textBrush, Text = text },
        ArrowBackground = arrowBackgroundBrush,
        EdgeBackground = edgeBrush,
        Background = backgroundBrush,
    });
i++; 

foreach (var item in radialMenu.Content)
{
    item.MouseEnter += new MouseEventHandler( (sender, args) => { } );
    item.MouseLeave += new MouseEventHandler( (sender, args) => { } );
    item.Click += new RoutedEventHandler( (sender, args) => { } );
}

我的第二个问题是,这种方法对WPF来说是个坏主意吗? 如果是的话,我该怎么做得更好?

1 个答案:

答案 0 :(得分:1)

radialMenu.Items.forEach(item => item.Click += (se, a) => /*...*/);