EddieS  
                
                  
                    January 30, 2024,  2:04am
                   
                  1 
               
             
            
              Is possible to control the contents of one Combobox from another.
Eg.
Hope this makes sense
             
            
              
           
          
            
              
                Jean-Marc  
              
                  
                    January 30, 2024,  7:28am
                   
                  2 
               
             
            
              Check out the colour splasher code. It is a bit convoluted but works that way for this script.
To keep it simpler, you could display the combo boxes in sequence as a first step
             
            
              
           
          
            
              
                dosymep  
              
                  
                    January 30, 2024, 12:17pm
                   
                  3 
               
             
            
              Create OptionValue class
class OptionValue:
    def __init__(self, name):
        self._name = name
    @property
    def name(self):
        return self._name
    @name.setter
    def name(self, value):
        self._name = value
Create Option class
class Option:
    def __init__(self, name):
        self._name = name
        self._values = []
    @property
    def name(self):
        return self._name
    @name.setter
    def name(self, value):
        self._name = value
    @property
    def values(self):
        return self._values
    @option_values.setter
    def values(self, value):
        self._values = value
Create xaml file
<StackPanel>
    <ComboBox
        Width="150"
        SelectedItem="{Binding Option}"
        ItemsSource="{Binding Options}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding name}" />
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>
    <ComboBox
        Width="150"
        ItemsSource="{Binding Option.values}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding name}" />
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>
</StackPanel>
 
            
              1 Like 
            
           
          
            
              
                EddieS  
              
                  
                    January 30, 2024,  9:52pm
                   
                  4 
               
             
            
              I will look into it
Appreciate you assistance.
             
            
              1 Like 
            
           
          
            
              
                EddieS  
              
                  
                    February 16, 2024,  3:27am
                   
                  5 
               
             
            
              Been trying to understand how to incorporate this into my code… not having much luck unfortunately.
             
            
              
           
          
            
              
                dosymep  
              
                  
                    February 21, 2024,  2:16pm
                   
                  6 
               
             
            
              @EddieS , my button with bindings and MVVM
  
  
    
    
      
              def Execute(self, parameter): 
                  self.__view.Hide() 
                  try: 
                      self.__view_model.curve_element = self.__revit_repository.pick_element("Выберите линию.") 
                  finally: 
                      self.__view.show_dialog() 
          @notification() 
          @log_plugin(EXEC_PARAMS.command_name) 
          def script_execute(plugin_logger): 
              revit_repository = RevitRepository(document, __revit__) 
              if revit_repository.is_empty: 
                  alert("Выберите помещения для нумерации", exitscript=True) 
              select_groups_window = SelectRoomGroupsWindow(revit_repository.room_groups) 
              select_groups_window.show_dialog() 
              if not revit_repository.get_filtered_rooms_by_group() or not select_groups_window.DialogResult: 
                  script.exit() 
              main_window = MainWindow() 
       
     
  
    
    
  
  
 
             
            
              1 Like