checkbox wie radiobutton-wpf-c#
habe ich untersucht dieses problem, aber dieses Problem ist in der design-Ansicht und code-behind. aber mein problem ist etwas anders: ich versuche, dies zu tun als nur code-behind, da meine Checkboxen dynamisch erstellt nach Daten in der Datenbank.In anderen Worten, die Anzahl meiner Checkboxen ist nicht stabil. ich will nur überprüfen einer checkbox in der Gruppe von Checkboxen. wenn ich klickte eine checkbox,ich will das ischecked-Eigenschaft der Checkboxen falsch sein.dies ist die gleiche Eigenschaft radiobuttons. ich meine Checkboxen aus einem stackpanel-Element in der xaml-Seite:
<StackPanel Margin="4" Orientation="Vertical" Grid.Row="1" Grid.Column="1" Name="companiesContainer">
</StackPanel>
meiner xaml.cs:
using (var c = new RSPDbContext())
{
var q = (from v in c.Companies select v).ToList();
foreach (var na in q)
{
CheckBox ch = new CheckBox();
ch.Content = na.Name;
ch.Tag = na;
companiesContainer.Children.Add(ch);
}
}
foreach (object i in companiesContainer.Children)
{
CheckBox chk = (CheckBox)i;
chk.SetBinding(ToggleButton.IsCheckedProperty, "DataItem.IsChecked");
}
wie kann ich diese Eigenschaft in Checkboxen in xaml.cs ?
vielen Dank im Voraus..
- Jeder Grund, Sie wollen zu setzen, um den check-Boxen Verhalten sich wie radio-buttons statt mit radio-buttons?
- ich Frage mich nur, wie dies zu tun.ich wollte dies versuchen.
- sorry..jetzt merkte ich, dass ich eine Wahl haben, dass keine dieser Checkboxen überprüft werden kann
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einen Ereignishandler für das checked event. Beim erstellen der checkbox, fügen Sie diese (gleichen) event-handler, um alle Kontrollkästchen.
In der event-handler, laufen durch jede checkbox, die Sie Hinzugefügt haben, und für jede checkbox zu deaktivieren, es sei denn, es ist die gleiche checkbox als Absender.
Dass ich denke, dass sollte den trick tun (aus der Spitze von meinem Kopf).
Hier ist etwas code, den ich nur knocked up das sollte helfen:
XAML-Teil ist nur ein stack-panel namens: Name="checkboxcontainer"
Codebehind-Teil: