-5 / 3 / 1
Регистрация: 21.07.2017
Сообщений: 71
1

Перенести текст с одного label на label в другом окне

11.02.2019, 12:29. Показов 1831. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как перенести текст с label одного окна в label другого окна?

ссылка на гитхаб:
https://github.com/tim-stark-m45/WPF_ViewTest
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2019, 12:29
Ответы с готовыми решениями:

Передача текста из lineEdit в label в другом окне
Добрый день возникла такая проблема у меня в проекте есть главное окно якобы авторизация, и надо...

Записать текст в label в другом потоке
Пытаюсь сделать что-то типа небольшого чата. Все идет хорошо, клиент обменивается данными с...

Tkinter вывод значения переменной в label из одного класса в другом
Доброго времени суток. Используя tkinter пишу программу с интерфейсом для курсовой работы. В общем,...

Как изменить текст Label в другом приложении?
Здравствуйте. Подскажите пожалуйста, как можно изменить Label на другом приложении. Знаю, что...

1
Модератор
Эксперт .NET
15109 / 10400 / 2733
Регистрация: 21.04.2018
Сообщений: 30,840
Записей в блоге: 2
11.02.2019, 14:19 2
Цитата Сообщение от TimkITon Посмотреть сообщение
ссылка на гитхаб:
Проект Ваш? Если да, то вопрос "Как перенести текст с label одного окна в label другого окна?" вызывает недоумение.
Там есть более-менее нормальные VM. И надо "переносить" не Label, а передать значение из одной VM в другую.
Для этого надо двум VM "познакомиться". Если они создаются в одном экземпляре то можно сделать через статические поля.

Подправил Вам класс ObservableObject
C#
1
2
3
4
5
6
7
8
9
10
11
12
    public class ObservableObject : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void Set<T>(ref T field, T value, [CallerMemberName]string prop = "")
        {
            if ((field == null && value != null) || (field != null && !field.Equals(value)))
            {
                field = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(prop));
            }
        }
    }
Класс VM ViewWindowviewModel
C#
1
2
3
4
5
6
7
8
    public class ViewWindowviewModel : ObservableObject
    {
        private static ViewWindowviewModel _vm;
        public static ViewWindowviewModel VM => _vm ?? (_vm= new ViewWindowviewModel());
 
        private string vieWindowtext = "test";
        public string VieWindowtext { get => vieWindowtext; set => Set(ref vieWindowtext, value); }
    }
CB ViewWindow
C#
1
2
3
4
5
6
7
8
9
10
    public partial class ViewWindow : Window
    {
        //private ViewWindowviewModel vw = new ViewWindowviewModel();
 
        public ViewWindow()
        {
            InitializeComponent();
            DataContext = ViewWindowviewModel.VM;
        }
    }
Класс VM MainWindowviewModel
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    public class MainWindowviewModel : ObservableObject
    {
        private static MainWindowviewModel _vm;
        public static MainWindowviewModel VM => _vm ?? (_vm = new MainWindowviewModel());
 
        private ObservableCollection<Text> texts = new ObservableCollection<Text>();
        public ObservableCollection<Text> Texts { get => texts; set => Set(ref texts, value); }
 
        private Text selectedText;
        public Text SelectedText { get => selectedText; set => Set(ref selectedText, value); }
 
        public MainWindowviewModel()
        {
            Texts.Add(new Text
            {
                MainWindowText = "japsojdfpaofj",
            });
        }
 
        protected override void Set<T>(ref T field, T value, [CallerMemberName] string prop = "")
        {
            base.Set(ref field, value, prop);
            if (prop == "SelectedText")
                ViewWindowviewModel.VM.VieWindowtext = SelectedText.MainWindowText;
        }
    }
CB MainWindow
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public partial class MainWindow : Window
    {
        //private MainWindowviewModel vm = new MainWindowviewModel();
 
        public MainWindow()
        {
            InitializeComponent();
            DataContext = MainWindowviewModel.VM;
        }
 
        private void open0_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            var viewWindow = new ViewWindow();
            viewWindow.ShowDialog();
            
 
            //viewWindow.ViewTextBox.Text = vm.SelectedText.MainWindowText;
        }
    }
0
11.02.2019, 14:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2019, 14:19
Помогаю со студенческими работами здесь

Как вставить текст в label на середине, то есть на центре label?
Здравствуйте. Как вставить текст в label на середине, то есть на центре label?

Поместите на форму компонент Label, внесите в него текст «Label – это надпись», оформите его шрифтом размером 10
Поместите на форму компонент Label, внесите в него текст «Label – это надпись», оформите его...

Выделить текст в RichTextBox в одном окне, сохранив фокус на другом окне
Добрый день! Пытаюсь реализовать поиск с помощью дополнительного окна (в данной теме сам поиск не...

Label в другом классе
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public...


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

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

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