Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
1

Не получается программно привязать Label к переменной

14.03.2016, 13:32. Показов 2580. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
27
28
29
30
31
32
33
    public partial class WinShop : Window, INotifyPropertyChanged
    {
        private long total;
        public long Total
        {
            get { return total; }
            set { if (value != total) { total = value; RaisePropertyChanged("Total"); } }
        }
 
        public event PropertyChangedEventHandler PropertyChanged;
 
        public void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
        public WinShop()
        {
            InitializeComponent();
 
            Binding binding = new Binding();
            binding.Source = Total;
            binding.Mode = BindingMode.OneWay;
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            binding.Path = new PropertyPath("Total");
            lblTotalPrice.SetBinding(ContentProperty, binding);
        }
 
        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            Total++;
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2016, 13:32
Ответы с готовыми решениями:

Как текст из label привязать к переменной?
Здравствуйте! Была написана легкая программа которая отслеживает изменение папки на дату и время,...

Не получается программно подчеркнуть текст в Label
не срабатывает ни одна ни вторая команда label2.Underline = true; label2.Font.Underline = true; ...

Как программно создать Label на Frame, которая программно создана на UserForms
Всем доброго времени суток! Программно создать Frame на UserForms можно таким кодом: With...

Привязать Label к объекту
Подскажите как можно сделать чтобы Label появлялся над созданным прямоугольником? (как показано на...

5
Заблокирован
14.03.2016, 18:31 2
Jotun, почему не хотите использовать XAML?
0
Жуткая тВарЬ
393 / 328 / 135
Регистрация: 06.02.2015
Сообщений: 962
Записей в блоге: 1
14.03.2016, 21:47 3
Jotun, у вас должен быть не source а ralativesource FindAncestor для привязки к свойству окна, все это от плохого понимания xaml
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
14.03.2016, 23:29  [ТС] 4
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Jotun, почему не хотите использовать XAML?
Вообще программно хотел, чтобы знать как делается, но через XAML у меня тоже не получается

Цитата Сообщение от amarf Посмотреть сообщение
Jotun, у вас должен быть не source а ralativesource FindAncestor для привязки к свойству окна, все это от плохого понимания xaml
примерчик бы....

Добавлено через 8 минут
хотя через XAML получилось:
XML
1
2
3
4
5
6
7
8
9
        <Label Name="lbl">
            <Label.Content>
                <Binding Path="Total">
                    <Binding.RelativeSource>
                        <RelativeSource Mode="FindAncestor" AncestorType="{x:Type Window}"/>
                    </Binding.RelativeSource>
                </Binding>
            </Label.Content>
        </Label>
Теперь надо понять как программно сделать.....
0
Жуткая тВарЬ
393 / 328 / 135
Регистрация: 06.02.2015
Сообщений: 962
Записей в блоге: 1
14.03.2016, 23:35 5
Лучший ответ Сообщение было отмечено Jotun как решение

Решение

Цитата Сообщение от Jotun Посмотреть сообщение
Теперь надо понять как программно сделать.....
C#
1
2
3
4
5
6
            Binding binding = new Binding();
            binding.RelativeSource = new RelativeSource { Mode = RelativeSourceMode.FindAncestor, AncestorType=typeof(Window) };
            binding.Mode = BindingMode.OneWay;
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            binding.Path = new PropertyPath("Total");
            lblTotalPrice.SetBinding(ContentProperty, binding);
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
15.03.2016, 18:23  [ТС] 6
Фсё, сделал и программно, спасиб )

C#
1
2
3
4
5
6
7
            Binding binding = new Binding();
            binding.RelativeSource = new RelativeSource();
            binding.RelativeSource.AncestorType = typeof(Window);
            binding.Mode = BindingMode.OneWay;
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            binding.Path = new PropertyPath("Total");
            lbl.SetBinding(ContentProperty, binding);
Добавлено через 46 секунд
amarf, на секунды опередили

Добавлено через 18 часов 46 минут
Окно с этим Label и свойством - "дочерние" и создаются по клику кнопки в основном окне. И при создании этого второго окна Binding не работает ни через XAML, ни при установки программно в конструкторе. Заработало когда втавил код создания привязки в событие Loaded второй формы. Такое поведение нормально?
0
15.03.2016, 18:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2016, 18:23
Помогаю со студенческими работами здесь

Привязать ячейку DataGridView к Label
Нужно, чтобы значение DataGridView, в определенной строчке и столбике, отображалось в Label.

Привязать label к определенной точке на странице
Суть задачи такова. На странице имеется картинка, расположенная по центру экрана col-md-6 col-sm-4...

Как привязать Label к базе данных
Нужно, чтобы на label выводилось значение из одного столбца таблицы бд. Как это сделать? В-общем,...

Как привязать Label к бегунку HScroll
Доброго всем времени суток! Не получается привязать метку к бегунку HScroll.Пробую так Private Sub...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru