我的第一个问题是如何将内容中的每个项目分配给一个事件。 这意味着每个项目都有自己独立的事件。
我拥有的是RadialMenu
。其中包括RadialMenuItems
。用户应该能够以他想要的方式添加和删除它们,但事件必须具有相同的功能,但每个项目都是相同的。 (Click
,MouseEnter
,MouseLeave
)
这是我到目前为止所做的:
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来说是个坏主意吗? 如果是的话,我该怎么做得更好?
答案 0 :(得分:1)
radialMenu.Items.forEach(item => item.Click += (se, a) => /*...*/);