I'm implementing a UI using WPF to create grids in Revit. To allow users to switch between numeric values ('1, 2, 3, ...') and alphabetic values ('A, B, C, ...') for grid names, I used a ComboBox, as shown below. However, I'm struggling to set up event handlers to manage the selection for each grid orientation (X and Y) and to prevent the user from selecting the same values for both X and Y. Xaml code <!-- Symbol Type for Lx --> <DockPanel Margin="0,0,0,10"> <TextBlock Text="Type de symbole Lx:" Width="120"/> <ComboBox x:Name="dropdown_symbol_x" Width="150" HorizontalAlignment="Right" > <ComboBoxItem Content="1 2 3 ..." /> <ComboBoxItem Content="A B C ..." /> </ComboBox> </DockPanel> <!-- Symbol Type for Ly --> <DockPanel Margin="0,0,0,10"> <TextBlock Text="Type de symbole Ly:" Width="120"/> <ComboBox x:Name="dropdown_symbol_y" Width="150" HorizontalAlignment="Right" > <ComboBoxItem Content="1 2 3 ..." /> <ComboBoxItem Content="A B C ..." /> </ComboBox> </DockPanel> python code class Grids(Window): def __init__(self): # wpf.LoadComponent(self, StringReader(Grids.LAYOUT)) # # Symbol sets self.all_symbols_numeric = ['1', '2', '3', '4', '5'] # Numeric self.all_symbols_alpha = ['A', 'B', 'C', 'D', 'E'] # Alphabetic self.selected_symbol_x = None self.selected_symbol_y = None self.data = {} self.ShowDialog() def _collect_input_data(self): """Collect and convert input data from the UI""" # Identify which key has missing or invalid input and alert the user if not self.input_Lx.Text: forms.alert("Please enter a valid value for : Lx") elif not self.input_Ly.Text: forms.alert("Please enter a valid value for : Ly") elif not self.input_extension.Text: forms.alert("Please enter a valid value for : e") elif not self.input_dx.Text: forms.alert("Please enter a valid value for : dx") elif not self.input_dy.Text: forms.alert("Please enter a valid value for : dy") elif self.select_symbol_x.ItemsSource is None: forms.alert("Please select symbols for : Sx") elif self.select_symbol_y.ItemsSource is None: forms.alert("Please select symbols for : Sy") if self.select_symbol_x.SelectedItem == self.select_symbol_y.SelectedItem: forms.alert("Symbols for Lx and Ly must be different.") else: try: self.data = { "Lx": _input_to_meters(self.input_Lx.Text), "Ly": _input_to_meters(self.input_Ly.Text), "e": _input_to_meters(self.input_extension.Text), "dx": _input_to_meters(self.input_dx.Text), "dy": _input_to_meters(self.input_dy.Text), "Sx": [self.select_symbol_x.SelectedItem], "Sy": [self.select_symbol_y.SelectedItem] } except ValueError: forms.alert( "Invalid input detected. " "Please ensure all inputs are numeric where required." ) def OK_Clicked(self, sender, e): self._collect_input_data() # self.data if not self.data: return self.Close() def Cancel_Clicked(self, sender, e): self.Close() Continue reading...