4 / 4 / 2
Регистрация: 27.12.2014
Сообщений: 233
1

Получить текст выделенного ListBoxItem

28.07.2016, 14:50. Показов 1593. Ответов 4

Студворк — интернет-сервис помощи студентам
не могу получить текст выделенного ListBoxItem
ошибка "Ссылка на объект не указывает на экземпляр объекта."

XML
1
2
3
4
5
6
7
<ListBox Name="yearPick" HorizontalAlignment="Left" Height="77" Margin="208,43,0,0" VerticalAlignment="Top" Width="112">
            <ListBoxItem Content="2016" IsSelected="True"/>
            <ListBoxItem Content="2017"/>
            <ListBoxItem Content="2018"/>
            <ListBoxItem Content="2019"/>
            <ListBoxItem Content="2020"/>
        </ListBox>
C#
1
2
3
4
5
6
7
8
public void somefunc(){
    int year = Convert.ToInt32(((ListBoxItem)yearPick.SelectedValue).Content.ToString()); // оба варианта
    int year2=Convert.ToInt32(yearPick.SelectedItem.ToString());                         // не работают
}
 
private void Window_Loaded_1(object sender, RoutedEventArgs e){
    somefunc();
}
подскажите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2016, 14:50
Ответы с готовыми решениями:

Получить текст выделенного элемента в ListBox
Здравствуйте уважаемые форумчане, помогите пожалуйста разобраться с одной проблемой: Сам...

Получить ListBoxItem из DataTemplate
Имеется ListBox, использующий DataTemplate: &lt;DataTemplate x:Key=&quot;ProductSearchTemplate&quot;&gt; ...

Как достать текст из textBox, который находится в listBoxItem
Здравствуйте. Собственно, вопрос описан в заголовке. Есть кнопка в listBoxItem, хочу по нажатию на...

TreeView заполнить из БД и получить ID выделенного узла
Здравствуйте! Помогите пожалуйста, не могу разобраться с treeview. Создал дерево, заполнил его...

4
3 / 3 / 1
Регистрация: 10.09.2014
Сообщений: 36
28.07.2016, 15:47 2
Попробуй для листбокса поставить SelectedIndex = 0 (или другое значение) в разметке или в коде, должно заработать
0
4 / 4 / 2
Регистрация: 27.12.2014
Сообщений: 233
28.07.2016, 16:45  [ТС] 3
тут почему то работает

C#
1
2
3
private void Window_Loaded_1(object sender, RoutedEventArgs e){
     MessageBox.Show(((ListBoxItem)yearPick.SelectedValue).Content.ToString()); 
}
а тут уже нет
C#
1
2
3
public void func(){
     MessageBox.Show(((ListBoxItem)yearPick.SelectedValue).Content.ToString());
}
SelectedIndex="0" эффекта не дал
0
21 / 23 / 9
Регистрация: 26.07.2013
Сообщений: 109
29.07.2016, 16:08 4
Привет, я правильно понял, то тебе нужно получать текст при выделелнии айтима? Если да, то посмотри в сторону событий, попробуй SelectionChanged.
0
Жуткая тВарЬ
391 / 326 / 135
Регистрация: 06.02.2015
Сообщений: 962
Записей в блоге: 1
01.08.2016, 12:00 5
Смотрю и плачу, что на вопросы, что на ответы....
Господа почитали бы вы сначала хорошие книжки, а потом садились бы писать код...

Ниже идет пример, но смею заметить, что такой стиль программирования допустим для приложений ну где то уровня калькулятора...

xaml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        <ListBox Name="yearPick"
                 Width="112"
                 Height="77"
                 Margin="208,43,0,0"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 SelectedItem="{Binding MEITEM, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}">
            <ListBoxItem Content="2016"
                         IsSelected="True" />
            <ListBoxItem Content="2017" />
            <ListBoxItem Content="2018" />
            <ListBoxItem Content="2019" />
            <ListBoxItem Content="2020" />
        </ListBox>
        <TextBlock HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Text="{Binding SelectedItem.Content, ElementName=yearPick}" />
 
        <TextBlock HorizontalAlignment="Center"
                   VerticalAlignment="Center" Margin="0,25,0,0"
                   Text="{Binding MEITEM.Content, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" />


MainWindow .cs

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public partial class MainWindow : Window, INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
 
        ListBoxItem _MEITEM;
        public ListBoxItem MEITEM { get { return _MEITEM; } set { _MEITEM = value; OnPropertyChanged(nameof(MEITEM)); } }
 
 
        public MainWindow()
        {
            InitializeComponent();
        }
    }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2016, 12:00
Помогаю со студенческими работами здесь

Как получить имя выделенного элемента listbox?
Заполняю listbox через привязку(binding), теперь нужно записать в переменную имя выделенного...

Как по событию TreeView_SelectedItemChanged получить индекс выделенного элемента
Здравствуйте. Как по событию TreeView_SelectedItemChanged получить индекс выделенного элемента?

Получить текст выделенного элемента в ComboBox
я загружаю в combobox1 из БД инфу таким образом как известно : comboBox1.DataSource =...

Как получить текст выделенного элемента в listbox
Есть listbox который вставлен у меня так: &lt;asp:ListBox ID=&quot;tems&quot; runat=&quot;server&quot; Width=&quot;90%&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru