DCSIMG
ComboBox με CheckBox πως θα ενημερώνω την λίστα ??? - .NET Technology - Προγραμματισμός - StudentGuru

ComboBox με CheckBox πως θα ενημερώνω την λίστα ???

Έχω το παρακάτω Combobox  με το DataTemplate

  <ComboBox x:Name="SelectNames” Margin="28,10,10,10"

 Width="305" HorizontalAlignment="Right"                                SelectionChanged="SelectNames _SelectionChanged">

   <ComboBox.ItemTemplate>

       <DataTemplate>

           <CheckBox Content="{Name}"                    

              IsChecked="{Binding IsSelected}" />

       </DataTemplate>

  </ComboBox.ItemTemplate>

</ComboBox>

 

 

Έχω και την λίστα

 

Names.cs

 

public class NameList

    {

public string Name { get; set; }

public bool IsSelected { get; set; }

public List< NameList > nameList ()

            {

               List<NameList> nameLists=new List<NameList>();

 

                nameLists.Add(new RadiogrphyType()

                     {Name ="Antonhs",

                     IsSelected =true

                     });

                nameLists.Add(new RadiogrphyType()

                {

                   Name = "kwsta",

                   IsSelected = true

                });

  return nameLists;

}

Και κάνω το Databinding με αυτό τον τρόπο

Names names =  new Names();

SelectNames.ItemsSource = names. nameList()

 

Μέχρι στιγμής το ComboBox εμφανίζει την λίστα που έχει τα CheckBox επιλεγμένο με το αντίστοιχο όνομα

 

Θέλω όταν επιλέγω η αποεπιλέγω το κάθε CheckBox να ενημερώνεται το αντίστοιχο IsSelected της λίστας πως μπορώ να το κάνω?????????

3 Replies

  • Στο checked / unchecked event του checkbox κανε το εξης

    int index = comboBox.SelectedIndex;

    names.nameList[index].IsSelected = false / true;

  • In reply to Dimitris:

    Έχω το παρακάτω ListBox  και λειτούργει κανονικά το Databinding πως μπορώ στο Selected Changed να παίρνω την τιμή πχ TextBlockFirstname και TextBoxLastName για κάθε διαφορετική επιλογή στο ListBox???

    <ListBox x:Name="ListBoxSelectRadiographyRequest"

                 HorizontalAlignment="Stretch"

      VerticalAlignment="Stretch"

           Margin="10,10,34,10"

                 Height="448"                       SelectionChanged="ListBoxSelectRadiographyRequest_SelectionChanged">

    <ListBox.ItemTemplate>

       <DataTemplate>

          <StackPanel Orientation="Vertical">

             <TextBlock Text="Στοιχεία Ασθενή  "/>

                <StackPanel Orientation="Horizontal">

                  <TextBlock Text="Όνομα: "/>

                  <TextBox  x:Name="TextBlockFirstname" Text="{Binding firstName}" IsReadOnly="True"/>

                  <TextBlock Text="Επίθετο: "/>

                  <TextBox Text="{Binding lastName}" IsReadOnly="True"/>

          </StackPanel>

          <StackPanel Orientation="Horizontal">

                  <TextBlock Text="Ημερομηνία επίσκεψης Θεράποντα Ιατρού: "/>

                  <TextBox x:Name="TextBoxLastName" IsReadOnly="True" Text="{Binding date}"/>

          </StackPanel>

          <StackPanel Orientation="Horizontal">

                  <TextBlock Text="Τύπος Ακτινογραφίας:"/>

                  <TextBox IsReadOnly="True" Text="{Binding radiographyType}"/>

          </StackPanel>

         </StackPanel>

        </DataTemplate>

     </ListBox.ItemTemplate>

    </ListBox>

  • In reply to thester:

    Στο SelectionChanged event του listbox σου κανει το εξης

    NameList n = listbox.SelectedItem as Namelist;

    και μετα μεσα απο το n παιρνεις τα firstName / lastName

Related