Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单选按钮。在树内检查_C#_Xaml_Silverlight_Radio Button - Fatal编程技术网

C# 单选按钮。在树内检查

C# 单选按钮。在树内检查,c#,xaml,silverlight,radio-button,C#,Xaml,Silverlight,Radio Button,起初,我有一个列表,其中包含生成的单选按钮。这看起来像这样: foreach (Team TeamName in loadOperation.Entities) { RadioButton radiobutton = new RadioButton(); radiobutton.GroupName = "ticketfilter"; radiobutton.Content = TeamName.Name.ToString(); int teamid = Team

起初,我有一个列表,其中包含生成的单选按钮。这看起来像这样:

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);
}
TreeViewItem tree = new TreeViewItem();
tree.Header = new MyRadioButtonItem()
{
    Groupname = "ticketfilter",
    content = TeamName.Name.ToString(),
 };
public class MyRadioButtonItem
{
  public RadioButton MyRadioButton {get; set;}
  public bool IsChecked {get; set;}
} 
结果,这给了我一个单选按钮列表。但是,我想将此列表转换为树状视图。
因此,我做了以下工作:

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);
}
后来我对它的定义如下:

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);
}
TreeViewItem tree = new TreeViewItem();
tree.Header = new MyRadioButtonItem()
{
    Groupname = "ticketfilter",
    content = TeamName.Name.ToString(),
 };
public class MyRadioButtonItem
{
  public RadioButton MyRadioButton {get; set;}
  public bool IsChecked {get; set;}
} 
它能识别我定义的所有东西。 但是,我需要这样的选项:单击并选中

但在这个例子中。radiobutton如何知道GroupName和Content之间的区别。
例如,Groupname可以是内容,因为它们都是字符串?

是的,您可以创建如下自定义类:

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);
}
TreeViewItem tree = new TreeViewItem();
tree.Header = new MyRadioButtonItem()
{
    Groupname = "ticketfilter",
    content = TeamName.Name.ToString(),
 };
public class MyRadioButtonItem
{
  public RadioButton MyRadioButton {get; set;}
  public bool IsChecked {get; set;}
} 
然后用它代替
单选按钮


如果有帮助,请告诉我。

是的,您可以创建如下自定义类:

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);
}
TreeViewItem tree = new TreeViewItem();
tree.Header = new MyRadioButtonItem()
{
    Groupname = "ticketfilter",
    content = TeamName.Name.ToString(),
 };
public class MyRadioButtonItem
{
  public RadioButton MyRadioButton {get; set;}
  public bool IsChecked {get; set;}
} 
然后用它代替
单选按钮


让我知道这是否有帮助。

当我这样做时,radiobutton指定的控件会被识别。然而。这是行不通的。因为如果我在公共课上分配内容。在私人空间里使用它。radiobutton如何知道哪些是内容?因为字符串标题或测试也可以是一个。你能详细说明一下吗?如果可能的话,展示一些示例代码?当我这样做时,radiobutton分配的控件会被识别出来。然而。这是行不通的。因为如果我在公共课上分配内容。在私人空间里使用它。radiobutton如何知道哪些是内容?因为字符串标题或测试也可以是字符串标题或测试。请详细说明,如果可能,请展示一些示例代码?