手风琴控件,单击事件子项的捕获 [英] Accordion Control, Catch on click event Child Item
本文介绍了手风琴控件,单击事件子项的捕获的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用手风琴,我在.cs页面上创建了手风琴项,
我需要捕获所选的手风琴项吗?
Working with accordion, i create Accordion Items on the .cs page,
I need Catch the selected accordionItem?
AccordionItem RSR = new AccordionItem();
RSR.Header = "RSR";
AccordionItem Supervisors = new AccordionItem();
Supervisors.Header = "Supervisors";
AccordionItem Managers = new AccordionItem();
Managers.Header = "Managers";
// Managers.
ContextMenu RSRContext=new ContextMenu();
ContextMenu SupervisorsContext=new ContextMenu();
ContextMenu ManagersContext=new ContextMenu();
foreach (CrmUser user in RAU.users)
{
if (user.jobtitle == 0)
RSRContext.Items.Add(user);
if (user.jobtitle == 4)
SupervisorsContext.Items.Add(user);
if (user.jobtitle == 5)
ManagersContext.Items.Add(user);
}
RSR.Content = RSRContext;
Supervisors.Content = SupervisorsContext;
Managers.Content = ManagersContext;
accordion1.Items.Add(RSR);
accordion1.Items.Add(Supervisors);
accordion1.Items.Add(Managers);
accordion1.SelectionMode = AccordionSelectionMode.ZeroOrOne;
推荐答案
请先进行注释,请确保在提问时所有源代码的格式都正确.除非人们能读懂,否则他们可能不会帮助您.尝试阅读这绝对是一场噩梦,但是由于您的问题/问题很好,我还是会回答...
这是一个基于您的代码的工作示例.关键部分以粗体显示.
Just to comment first, please make sure any source code is neatly formatted when you ask a question. Unless people can read it they probably won''t help you. It''s an absolute nightmare trying to read that, but as your question/problem is a good one I''ll answer anyway...
Here''s a working example based on your code. The key bits are in bold...
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
AccordionItem RSR = new AccordionItem();
RSR.Header = "RSR";
AccordionItem Supervisors = new AccordionItem();
Supervisors.Header = "Supervisors";
AccordionItem Managers = new AccordionItem();
Managers.Header = "Managers";
ContextMenu RSRContext = new ContextMenu();
ContextMenu SupervisorsContext = new ContextMenu();
ContextMenu ManagersContext = new ContextMenu();
// I''ve change this bit as you haven''t explained "RAU.users"
// The important thing is I''ve used a MenuItem
// (You''ll need to convert your "user" objects to "MenuItems")
// And also attached Click listeners
MenuItem jeff = new MenuItem { Header = "Jeff" };
jeff.Click += new RoutedEventHandler(MenuSelected_Click);
MenuItem bob = new MenuItem { Header = "Bob" };
bob.Click += new RoutedEventHandler(MenuSelected_Click);
RSRContext.Items.Add(jeff);
RSRContext.Items.Add(bob);
MenuItem sheenagh = new MenuItem { Header = "Sheenagh" };
sheenagh.Click += new RoutedEventHandler(MenuSelected_Click);
MenuItem mike = new MenuItem { Header = "Mike" };
mike.Click += new RoutedEventHandler(MenuSelected_Click);
SupervisorsContext.Items.Add(sheenagh);
SupervisorsContext.Items.Add(mike);
MenuItem alice = new MenuItem { Header = "Alice" };
alice.Click += new RoutedEventHandler(MenuSelected_Click);
MenuItem luke = new MenuItem { Header = "Luke" };
luke.Click += new RoutedEventHandler(MenuSelected_Click);
ManagersContext.Items.Add(alice);
ManagersContext.Items.Add(luke);
// End of change
RSR.Content = RSRContext;
Supervisors.Content = SupervisorsContext;
Managers.Content = ManagersContext;
accordion1.Items.Add(RSR);
accordion1.Items.Add(Supervisors);
accordion1.Items.Add(Managers);
accordion1.SelectionMode = AccordionSelectionMode.ZeroOrOne;
}
void MenuSelected_Click(object sender, RoutedEventArgs e)
{
MenuItem item = sender as MenuItem;
MessageBox.Show("You clicked on: " + item.Header.ToString());
}
附言:如果有帮助,请标记为答案.
PS Please mark as the answer if this helps.
这篇关于手风琴控件,单击事件子项的捕获的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文