Как получить доступ к элементам управления внутри ListBoxItem?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить доступ к элементам управления внутри ListBoxItem?

Сообщение Anonymous »

У меня есть список, из которого состоит каждый элемент ListBoxItem: флажок, текстовое поле и два поля со списком.
Я заполняю поля со списком кодом, поскольку каждый из них представляет разные атрибуты.
Список представляет собой разные атрибуты. инициализируется в начале из базы данных.
Цель приложения — предоставить пользователям возможность изменять ElementType и ElementGroup из
значения ComboBoxes, и если флажок CheckBox установлен, база данных будет обновлено в соответствии с
новыми значениями.
Я не знаю, как получить доступ к полям со списком внутри ListBoxItem (ElementData) и их значениям
(строка 67 в . cs), где сейчас я просто пытаюсь извлечь эти значения в StringBuilder, чтобы
визуально проверить код.
Большое спасибо за помощь!
Спасибо.
Ниже приведены файлы .xml и .cs























using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace ListBoxTest
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public class Element
{
public string ElementName { get; set; }
}
public class ElementData
{
public string ElementName { get; set; }
private static readonly List elementType;
private static readonly List elementGroup;
static ElementData()
{
elementType = new List();
elementType.Add("Type A");
elementType.Add("Type B");
elementGroup = new List();
elementGroup.Add("Group A");
elementGroup.Add("Group B");
elementGroup.Add("Group C");
elementGroup.Add("Group D");
}
public IEnumerable ElementTypeSource => elementType;
public IEnumerable ElementGroupSource => elementGroup;
}

public MainWindow()
{
InitializeComponent();
this.listBoxElements.ItemsSource = new List
{
new ElementData {ElementName = "Element 01"},
new ElementData {ElementName = "Element 02"},
new ElementData {ElementName = "Element 03"},
new ElementData {ElementName = "Element 04"},
new ElementData {ElementName = "Element 05"}
};
}

StringBuilder sbSelectedListBoxItemData = new StringBuilder();
private void listBoxElements_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
sbSelectedListBoxItemData.Clear();
foreach (ElementData ed in listBoxElements.SelectedItems)
{
sbSelectedListBoxItemData.AppendLine(listBoxElements.Items.IndexOf(ed).ToString());
}
MessageBox.Show(sbSelectedListBoxItemData.ToString(), "Selected Data");
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... istboxitem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»