【发布时间】:2017-07-15 04:52:58
【问题描述】:
起初我有一个列表,其中包含生成的单选按钮。看起来像这样:
foreach (Team TeamName in loadOperation.Entities)
{
RadioButton radiobutton = new RadioButton();
radiobutton.GroupName = "ticketfilter";
radiobutton.Content = TeamName.Name.ToString();
int teamid = TeamName.TeamID;
radiobutton.Checked += new RoutedEventHandler((s, e) => FilterForTeam(s, e, teamid));
radiobutton.Click += new RoutedEventHandler((s, e) => LoadTickets());
UserRadioButtons.Children.Add(radiobutton);
}
结果,这给了我一个 RadioButtons 列表。但是,我想将此列表转换为树视图。
所以我做了以下事情:
foreach (Team TeamName in loadOperation.Entities)
{
TreeViewItem tree = new TreeViewItem();
tree.Header = new RadioButton()
{
GroupName = "ticketfilter",
Content = TeamName.Name.ToString(),
};
int count = TeamName.TeamMemberships.Select(d => d.User.UserID).Count();
int startcount = 0;
while (startcount < count)
{
tree.Items.Add(new TreeViewItem()
{
Header = new RadioButton()
{
GroupName = "ticketfilter",
Content = TeamName.TeamMemberships.Select(d => d.User.FullName).Skip(startcount).FirstOrDefault(),
//checked = something // This turns into .Ischecked,
}
});
startcount++;
}
UserRadioButtons.Children.Add(tree);
}
现在这给了我想要的结果。
但是,我无法将属性 Checked 添加到我的 RadioButton。
有没有一种方法可以将 .Checked 和 .Click 等属性分配给树视图中的 RadioButtons?
编辑:
我现在正在做的例子。
public class MyRadioButtonItem
{
public RadioButton MyRadioButton { get; set; }
public bool IsChecked { get; set; }
public string content { get; set; }
public string Groupname { get; set; }
}
然后我这样定义它:
TreeViewItem tree = new TreeViewItem();
tree.Header = new MyRadioButtonItem()
{
Groupname = "ticketfilter",
content = TeamName.Name.ToString(),
};
它可以识别我定义的所有内容。 但是,我需要像这样的选项:单击并检查。
但是例如在这个例子中。单选按钮如何知道 GroupName 和 Content 之间的区别。 例如 Groupname 可以是内容,因为它们都是字符串?
【问题讨论】:
标签: c# xaml silverlight radio-button