Ich installiere das gleiche UserControl zweimal. Beide haben Radiobuttons und teilen den GroupName. Wenn ich eins auswähle, werden alle anderen deaktiviert, selbst wenn sie Teil einer anderen UserControl-Instanz sind.WPF Radio Button Group Kollision mit benutzerdefinierten Bedienelementen
Wie kann dieser GroupName Collision vermieden werden?
ist hier ein minimales Beispiel den Punkt zu veranschaulichen:
Haupt XAML
<Window x:Class="RadioDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<UserControl x:Name="First"/>
<UserControl x:Name="Second"/>
</StackPanel>
</Window>
Hauptcodebehind
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
First.Content = new MyRadio();
Second.Content = new MyRadio();
}
MyRadio XAML
<UserControl x:Class="RadioDemo.MyRadio"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<StackPanel>
<RadioButton GroupName="G" x:Name="RadioOne" Content="RadioOne"/>
<RadioButton GroupName="G" x:Name="RadioTwo" Content="RadioTwo"/>
</StackPanel>
</UserControl>
Saubere Lösung wäre ein weiterer Ansatz eine Abhängigkeit propertery auf dem Usercontrol zu erklären sein, um den Groupnamen zu halten. So könnten Sie bei Bedarf den gleichen GroupName an mehrere UC's anhängen. – Funk