2017-02-24 7 views
1

最初に、生成されたラジオボタンを含むリストがありました。これは次のようになりました。RadioButton.Checked inside 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); 
} 

この結果、これでラジオボタンのリストが表示されました。しかし、私はツリービューにこのリストを有効にしたい。
ので、私は次のようでした:

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を.ClickようPropertysを割り当てることができる方法はありますか?

編集:私は今やっているの

例。

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(), 
}; 

それは私が定義していますすべてのものを認識しています。 しかし、私は次のようなオプションが必要です:Clicked and checked。

ただし、この例では例です。ラジオボタンはGroupNameとContentの違いをどのように知っていますか? たとえば、Groupnameは両方とも文字列なのでコンテンツにすることができますか?このことができますなら、私を知ってみましょう

public class MyRadioButtonItem 
{ 
    public RadioButton MyRadioButton {get; set;} 
    public bool IsChecked {get; set;} 
} 

をしてからRadioButton

の代わりにそれを使用する:

答えて

0

はい、あなたは次のようにカスタムクラスを作成することができます。

+0

これを行うと、割り当てられたラジオボタンコントロールが認識されます。しかしながら。これは動作しません。私のパブリッククラスでコンテンツを割り当てる場合はBecaase。それをプライベートボイドに使ってください。ラジオボタンはどのような内容であるかをどのように知っていますか?文字列のタイトルまたはテストを取り戻すこともできます。 – Mitch

+0

これを詳しく説明し、可能であれば、いくつかのコード例を表示できますか? –

+0

私の編集をチェック:) – Mitch