Click here to Skip to main content
15,885,537 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
ComboBox1

XML
<ComboBox Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Center" Margin="2,2,0,0" Name="comboBoxServer"  VerticalAlignment="Top" Width="156" ItemsSource="{Binding ServerNameList}"    SelectedValuePath="key" SelectedValue="{Binding serverSelected, Mode=OneWayToSource,UpdateSourceTrigger=PropertyChanged}" >

            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding serverCommand}" CommandParameter="{Binding  ElementName=comboBoxServer,Path=SelectedItem}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </ComboBox>


ComboBox2

<ComboBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Center" Margin="2,2,0,0" Name="comboBoxDBName" VerticalAlignment="Top" Width="156" ItemsSource="{Binding DBNameList}" SelectionChanged="comboBoxServer_SelectionChanged" SelectedValuePath="Key" SelectedValue="{Binding serverSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ></ComboBox>



ViewModel
 List<string> _ServerNameList;
        List<string> _DBNameList;

        public List<string> ServerNameList
        {
            get { return _ServerNameList; }
            set
            {
                _ServerNameList = value;
            }
        }

        public List<string> DBNameList
        {
            get { return _DBNameList; }
            set
            {
                if (_DBNameList != value)
                {
                    _DBNameList = value;
                    RaisePropertyChanged("DBNameList");
                }
            }
        }

        string _serverSelected;
        public string serverSelected
        {
            get { return _serverSelected; }
            set
            {
                if (_serverSelected != value)
                {
                    _serverSelected = value;
                    RaisePropertyChanged("serverSelected");
                }
            }
        }



        public BackUpViewModel()
        {

             BackUpContext servObj = new BackUpContext();

            _ServerNameList = servObj.GetServers();
            serverCommand = new RelayCommand(fetchServer);
            _DBNameList = servObj.GetDatabases(serverSelected);            
           }
public RelayCommand serverCommand { get; set; }

 public void fetchServer(object server)
        {            
            serverSelected =  server.ToString();
        }


ModelClass

public List<string> GetServers()
       {

           XmlDocument doc = new XmlDocument();
           doc.Load(@"C:\Users\477340\Desktop\newFile.xml");
           XmlNodeList nodes
               = doc.SelectNodes("/servers/server");           
           foreach (XmlNode node in nodes)
           {

               lstServerName.Add(node.Attributes["name"].InnerText);

           }
           return lstServerName;
       }

       public List<string> GetDatabases(string server)
       {
           XmlDocument doc = new XmlDocument();
           doc.Load(@"C:\Users\477340\Desktop\newFile.xml");
           XmlNodeList nodes
               = doc.SelectNodes("/servers/server");
           foreach (XmlNode node in nodes)
           {

               if (node.Attributes["name"].InnerText == server)
               {
                   XmlNodeList databases = node.SelectNodes("database");

                   foreach (XmlNode db in databases)
                   {
                       lstDBName.Add(db.InnerText);
                   }
               }


           }
           return lstDBName;

       }         
Posted

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900