Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
4 / 4 / 1
Регистрация: 19.02.2021
Сообщений: 45
WPF

Привязка значения Height или ActualHeight от TextBox в соответствующей параметр прямоугольника

28.06.2022, 17:42. Показов 2184. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, что не так в решении глупейшей задачи по WPF

Коллеги, понимаю, что задача глупейшая, но сломал мозги, а решить не могу. Помогите, пожалуйста!
Необходимо получить, то что на скриншоте.
XAML, которым пытаюсь получить это:
XML
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
34
35
36
37
38
39
40
41
42
<Window x:Class="chessdesk_canvas.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:chessdesk_canvas"
        mc:Ignorable="d"
        Title="Window1" Height="450" Width="800">
    <StackPanel Orientation="Horizontal">
        <StackPanel>
            <TextBox Name="tb1" Text="string 1"/>
            <TextBox Name="tb2" Text="string 2"/>
            <TextBox Name="tb3" Text="string 3"/>
        </StackPanel>
        <StackPanel >
            <Rectangle Fill="Aqua">
                <Rectangle.Height>
                    <Binding Path="Height" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBlock}}"/>
                </Rectangle.Height>
                <Rectangle.Width>
                    <Binding Path="Width" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}"/>
                </Rectangle.Width>
            </Rectangle>
            <Rectangle Fill="Green" >
                    <Rectangle.Height>
                        <Binding Path="Height" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBlock}}"/>
                    </Rectangle.Height>
                    <Rectangle.Width>
                        <Binding Path="Width" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}"/>
                    </Rectangle.Width>
                </Rectangle>
                <Rectangle Fill="LightCoral">
                <Rectangle.Height>
                    <Binding Path="Height" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBlock}}"/>
                </Rectangle.Height>
                <Rectangle.Width>
                    <Binding Path="Width" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}"/>
                </Rectangle.Width>
            </Rectangle>
        </StackPanel>
    </StackPanel>
</Window>
Не получается... Что не так?
Миниатюры
Привязка значения Height или ActualHeight от TextBox в соответствующей параметр прямоугольника  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2022, 17:42
Ответы с готовыми решениями:

Привязка значения из TextBox к Формуле
Подскажите, пожалуйста, как можно введенное значение из TextBox присвоить к формуле? Сразу разъясню суть вопроса, так как сразу не понятно...

блоки с height внутри min-height не растягиваются или wrapper не растягивается
вот такой вот пример &lt;html&gt; &lt;head&gt; &lt;style type=&quot;text/css&quot;&gt; * {margin:0; padding:0;} html {height:100%; } body...

Смена MySql запроса если выбран параметр GET или POST поиск товаров и привязка результата к сесии
Здравствуйте Если данные приходят с формы методом POST, то фильтруется список товаров по значениям из бд name и number. Если данные...

26
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
28.06.2022, 20:36
Студворк — интернет-сервис помощи студентам
Вы сказали
Цитата Сообщение от iplat Посмотреть сообщение
Их количество не и длина не известны заранее
Для теста добавлю кнопку:
C#
1
2
3
4
5
        private readonly static Random random = new Random();
        private void OnAddClicked(object sender, RoutedEventArgs e)
        {
            Students.Add(new Student { Name = random.Next(0, 5_000_000).ToString() });
        }
0
4 / 4 / 1
Регистрация: 19.02.2021
Сообщений: 45
28.06.2022, 20:40  [ТС]
Цитата Сообщение от limeniye Посмотреть сообщение
Вы сказали


Для теста добавлю кнопку:
C#
1
2
3
4
5
        private readonly static Random random = new Random();
        private void OnAddClicked(object sender, RoutedEventArgs e)
        {
            Students.Add(new Student { Name = random.Next(0, 5_000_000).ToString() });
        }
Вложение 1354027
Я же описал задачу (20:17):
Итак, имеется некоторое количество (большое) приборов (каждый прибор - название), которые с случайные момент времени дают данные. Прямоугольники - отображение данных во времени. Цвет, пусть отражение величины по принципу меньше значения границы диапазона, в диапазоне, больше значения границы диапазона. Нет значения - прямоугольника нет (т.е. прямоугольников может быть ного, но это не важно) Важно, что высота прямоeгольника = высоте TextBox.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
28.06.2022, 20:45
Цитата Сообщение от iplat Посмотреть сообщение
Собрать все это в коллекцию и вывести разом можно, конечно, но сильно меняет логику.
Если делать два разных списка, то придётся придумывать хитрейшие "танцы с бубном" по извлечению индекса прямоугольника и потом привязке этого прямоугольника к textBlock через его индекс в другом списке.
Сделать это в XAM, я думаю, и вовсе невозможно.
Можно поколдовать на Шарпе в View, но возникает вопрос зачем?
Если всё это гораздо проще можно сделать в VM и по функционалу это должно делаться в VM.
0
4 / 4 / 1
Регистрация: 19.02.2021
Сообщений: 45
28.06.2022, 20:48  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если делать два разных списка, то придётся придумывать хитрейшие "танцы с бубном" по извлечению индекса прямоугольника и потом привязке этого прямоугольника к textBlock через его индекс в другом списке.
Сделать это в XAM, я думаю, и вовсе невозможно.
Можно поколдовать на Шарпе в View, но возникает вопрос зачем?
Если всё это гораздо проще можно сделать в VM и по функционалу это должно делаться в VM.
Не хотелось бы в кучу собирать разнородные данные, хотя это возможно.
Завтра попробую сделать именно так.
Спасибо!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
28.06.2022, 20:48
Цитата Сообщение от iplat Посмотреть сообщение
Я же описал задачу (20:17):
По этой задаче вам нужно сделать сначала элемент для одной строки в свойствах которого будут все необхоимые для визуализации данные: текст и данные для прямоугольника.
Создать коллекцию этих элементов.
После чего её очень просто будет визуализировать.
0
4 / 4 / 1
Регистрация: 19.02.2021
Сообщений: 45
28.06.2022, 20:50  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
По этой задаче вам нужно сделать сначала элемент для одной строки в свойствах которого будут все необхоимые для визуализации данные: текст и данные для прямоугольника.
Создать коллекцию этих элементов.
После чего её очень просто будет визуализировать.
Именно, элемент делать не хотелось.
Но, похоже, работать с разными ветвями дерева не получится.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
28.06.2022, 20:50
Цитата Сообщение от iplat Посмотреть сообщение
Не хотелось бы в кучу собирать разнородные данные, хотя это возможно.
Он не разнородные.
Строка у вас представляет какой-то прибор.
И вся информация по этому прибору должна быть собрана в одном объекте.
Так работает не только WPF, в всё ООП в целом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.06.2022, 20:50

Как скриптом поменять параметр Bottom на Height и присвоить новое значение?
Как скриптом поменять параметр Bottom на Height и присвоить новое значение? http://images.vfl.ru/ii/1574269114/79d5b828/28631454_m.jpg

Как значения поля TextBox или ComoBox занести в базу даных?
Как значения поля TextBox или ComoBox занести в базу даных? База даных Access 2000. Connection делается нормально. Информацию с нее...

Поиск наибольшего значения height у li
Проблема такая как найти максимальное значение height у li структура примерно такая &lt;ul id=&quot;test&quot;&gt; &lt;li&gt;тут...

Html child element height by max-height parent wrapper
У меня есть строка max-height: 300px. В документации говориться http://www.w3.org/TR/CSS21/visudet.html#min-max-heights ...

Ошибка при парсинге значения height
Привет! Разбираю пример. Как-то странно! Файл скачанный из интернета работает без ошибок (), а когда переписываю руками вываливается...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru