Я делаю небольшое приложение с некоторыми флажками и параметрами фильтрации в Visual Studio WPF, используя c#.
Для моих данных у меня есть документ XML с различными местоположениями, который выглядит следующим образом:
<Cities>
<Location>
<Name>Gava</Name>
<City>Barcelona</City>
<Community>Catalonia</Community>
<Checked>False</Checked>
</Location>
<Location>
<Name>Castelldefels</Name>
<City>Barcelona</City>
<Community>Catalonia</Community>
<Checked>False</Checked>
</Location>
<Location>
<Name>San Juan</Name>
<City>Alicante</City>
<Community>Valencia</Community>
<Checked>False</Checked>
</Location>
<Location>
<Name>Benidorm</Name>
<City>Alicante</City>
<Community>Valencia</Community>
<Checked>False</Checked>
</Location>
<Location>
<Name>Sagunto</Name>
<City>Valencia</City>
<Community>Valencia</Community>
<Checked>False</Checked>
</Location>
</Cities>
С помощью этого я заполняю список флажками с помощью этой функции:
XDocument xdoc = XDocument.Load("Data.xml");
private void PopulateLocationList()
{
foreach(var elem in xdoc.Descendants("Location"))
{
ListView1.Items.Add(new CheckBox { Content = elem.Element("Name").Value, IsChecked = Convert.ToBoolean(elem.Element("Checked").Value) });
}
}
Что я хочу сделать сейчас, это заполнить ComboBox
с помощью City
имена, но значение города появляется только один раз. Я попробовал ту же функцию выше, изменив некоторые имена, например:
foreach(var elem in xdoc.Descendants("Location"))
{
ComboBox1.Items.Add(new ComboBoxItem { Content = elem.Element("City").Value });
}
, но при этом получаются все значения City
и заполняются ComboBox
. Я хочу, чтобы повторяющееся значение (например, два Барселоны) отображало только одно в ComboBox. Я просто не могу придумать, как это сделать.
Заранее спасибо всем, кто отвечает. Я все еще новичок во всем этом программировании и не получаю формального обучения, просто следую руководствам по inte rnet, и иногда это становится сложно, вот так.
Edit : I Я знаю, что могу сделать это вручную в конструкторе или даже использовать отдельную часть в моем документе xml только для городов, но я хочу сделать это так, чтобы можно было повторно использовать некоторые элементы i, такие как Listview и Comboboxes