0

этот код на c#

using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using Un4seen.Bass;
using Un4seen.Bass.AddOn.Tags;
using Microsoft.Win32;
using TagLib;

private void songsListView_SelectionChanged(object sender, TextChangedEventArgs e) { if (songsListView.SelectedIndex != -1) { string selectedSong = importedSongs[songsListView.SelectedIndex]; textBox.Text = Path.GetFileNameWithoutExtension(selectedSong); } }

a этот код на xml

<TextBox HorizontalAlignment="Left" Margin="57,217,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="300" Height="32" FontSize="22" TextChanged="songsListView_SelectionChanged"/>

vs не нравится почему-то textBox из c# кода и выводит ошибку:CS0103 Имя "textBox" не существует в текущем контексте.

  • 1
    Можно весь код? – anton Jun 20 '23 at 22:20
  • 1
    textBox - это что? Наверно имя конкретного контрола, да? Ок... А где это имя? Где x:Name = "textBox" в XAML? И да, советую учить привязки данных, в WPF так, как вы делаете, мало кто пишет приложение. Ну и советую научиться позиционировать объекты правильно, видите большой Margin - сразу делаете что-то не то, не удивляйтесь потом тому, что объекты не там, где надо, и при изменении размеров окна съезжают с нужных мест. – EvgeniyZ Jun 20 '23 at 22:47
  • В xaml коде не было вообще имени, я добавил и ошибка исчезла – Кирилл Васильев Jun 21 '23 at 07:48
  • У вас событие изменения текста изменяет текст. Что-то где-то напутали, что такое songsListView. Что этот обработчик должен сделать? Возможно этот пример вам поможет разобраться. А то вы пишете об ошибке, но не пишете, что хотите сделать. Разберитесь сначала с тем, что на самом деле нужно. – aepot Jun 21 '23 at 08:47

1 Answers1

0

Нужно добавить к TextBox параметр x:Name="textBox", тогда можно будет обращаться к TextBox из кода C#