Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CheckComboBox Help #1752

Open
sup3r93 opened this issue Jun 5, 2023 · 3 comments
Open

CheckComboBox Help #1752

sup3r93 opened this issue Jun 5, 2023 · 3 comments

Comments

@sup3r93
Copy link

sup3r93 commented Jun 5, 2023

HI,
I'm trying to use the CheckComboBox control, I take the data from an XML file, which is present in a folder on the computer, to be exact "C:\Emergency\Configuration\Configuration.xml" I used xmlDocument to import the file , and then through a foreach I added the various items, but I have two problems.

  1. If I select only one item it is not shown
  2. If I select two elements they are shown, but if I deselect them, the last deselected element is also shown
  3. Question: How can I get the values pressed on 2 or more different strings?

Thank you so much :)

XAML CODE

<xctk:CheckComboBox Grid.Column="1" Grid.Row="4" x:Name="ComboCirculation01" Height="30" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center" DisplayMemberPath="Color" ValueMemberPath="Level" SelectedValue="{Binding SelectedValue}" SelectedItemsOverride="{Binding SelectedItems}"/>

CS CODE

` #region Circulation

    public class CirculationItem {
        public string Circulation { get; set; }
        public bool IsSelected { get; set; }
    }

    private void CirculationData() {
        string configFile = @"C:\Emergenza\Configuration\Configuration.xml";

        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.Load(configFile);

        XmlNodeList nodes = xmlDocument.SelectNodes("/Config/Paziente/Associazione/Circolo/Value");

        ComboCirculation01.DisplayMemberPath = "Circulation"; 

        List<CirculationItem> circulationItems = new List<CirculationItem>();
         
        foreach (XmlNode node in nodes) {
            string circulation = node.InnerText;
            circulationItems.Add(new CirculationItem { Circulation = circulation });
        }

        ComboCirculation01.ItemsSource = circulationItems;
        ComboCirculation01.ItemSelectionChanged += ComboCirculation01_ItemSelectionChanged;
    }

    private void ComboCirculation01_ItemSelectionChanged(object sender, Xceed.Wpf.Toolkit.Primitives.ItemSelectionChangedEventArgs e) {
        foreach (CirculationItem item in ComboCirculation01.Items) {
            item.IsSelected = ComboCirculation01.SelectedItems.Contains(item);
        }
    }

    #endregion`

Pastebin XAML CODE
Pastebin CS CODE

@XceedDanP
Copy link
Collaborator

XceedDanP commented Jun 9, 2023 via email

@sup3r93
Copy link
Author

sup3r93 commented Jun 10, 2023

That works great, thank you very much :)

@sup3r93 sup3r93 closed this as completed Jun 10, 2023
@sup3r93 sup3r93 reopened this Jun 10, 2023
@sup3r93
Copy link
Author

sup3r93 commented Jun 10, 2023

@XceedDanP I apologize if I reopened the topic, but I wanted to avoid opening another one in case I made a mistake I apologize, is it possible with your control to perform this operation?

If I select option "A" all the other options are disabled, if instead I select option "B" options "A" and "C" are disabled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants