|
0 / 0 / 0
Регистрация: 12.12.2021
Сообщений: 205
|
|
Avalonia (отображение списка строк)12.01.2022, 22:23. Показов 21355. Ответов 98
Метки нет (Все метки)
Здравствуйте! Подскажите, пожалуйста, в каком элементе управления в Авалонии лучше выводить список строк, чтобы потом можно было выделить какие-то строки и скопировать их, например, в Excel? Заранее спасибо!
0
|
|
| 12.01.2022, 22:23 | |
|
Ответы с готовыми решениями:
98
Скрытие\отображение нового списка при выборе значения из списка |
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||
| 03.02.2022, 11:58 | |||
|
Добавлено через 1 минуту
0
|
|||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||||||
| 03.02.2022, 12:00 | |||||||
|
Было так:
0
|
|||||||
|
Модератор
|
|||||||
| 03.02.2022, 12:06 | |||||||
|
Там должен быть Grid, который в контекст принимает массив значений, и в каждой его клонке выводится значение с соответствующим индексом. Что-то в подобном духе:
1
|
|||||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 03.02.2022, 12:08 | |
|
Элд Хасп, как вариант
0
|
|
|
Модератор
|
|||
| 03.02.2022, 12:11 | |||
|
К ТС какой смысл вопросы задавать? Ему надо разъяснять как правильно, а не интересоваться у него этим. Видно же, что даже по самым азам "плавает" и не только WPF, но и Шарпа. Добавлено через 2 минуты Но это тоже не всегда даст требуемый результат. Самый надёжный - это через сплит и отдельный вывод каждого значения.
0
|
|||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 03.02.2022, 12:13 | |
|
0
|
|
|
Модератор
|
||
| 03.02.2022, 12:16 | ||
|
В задаче ТС - это три значения. Если их очень много (больше 5-10), то можно использовать вложенный ItemsControl.
0
|
||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||||||||||||||||||||
| 03.02.2022, 19:53 | |||||||||||||||||||||
|
Sun1212, окей если Вас устроит по-простому, то можно просто сделать 3 текстблока и задать каждому из них фиксированное значение, например 100 пикселей по ширине.
Для этого я создал ItemTemplate -- то есть стиль каждого элемента в списке. Стиль содержит три текстблока по горизонтале.
Теперь вместо string будем использовать свой тип Document, это нужно для того, чтобы мы всегда знали где у "Леонардо ди сер Пьеро да Винчи" имя, фамилия и отчество, грубо говоря. То есть мы будем держать значения не в одной строке, а в трёх разных.
Для этого у типа Document есть переопределение метода ToString(). Мы берём каждое свойство этого объекта и преобразовываем в одну строку return Number + " " + Name + " " + Value; -- в этой вот строке.Теперь нужно подставить преобразование для каждого объекта сюды:
Но можно сделать ещё немного по-другому. Можно высчитать размер самого длинного TextBlock'a и каждому из них задать его размер.
2
|
|||||||||||||||||||||
|
Модератор
|
||
| 03.02.2022, 22:53 | ||
|
Правда не могу точно сказать будут ли они работать в столь сложной компоновке. Но, честно говоря, мне всё это кажется всё более и более бессмысленным. По сути сделали свой DataGrid или ListView. Так почему бы сразу ими и не воспользоваться?
0
|
||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 03.02.2022, 22:58 | |
|
Элд Хасп, там в начале темы было написано, что должно быть именно в списке, одной колонкой. Потом оказалось что это три колонки в одной. Я предложил вариант с DataGrid — как я понял, он был одобрен, но потом я вспомнил, что нужно по нажатию на одну ячейку — выделять строку, чтобы её перенести в нижний текстбокс и мне показалось, что изменять придётся полностью всё, я решил закончить, что есть.
0
|
|
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 03.02.2022, 23:10 | |
|
Не то, чтобы мне лень
![]() но это курсовая, я не думаю что там обязательно делать всё идеально.
0
|
|
|
0 / 0 / 0
Регистрация: 12.12.2021
Сообщений: 205
|
|||||||
| 04.02.2022, 11:19 [ТС] | |||||||
|
limeniye, спасибо большое!
Можно дилетанский вопрос, у меня вся информация попадает в одну колонку, хотя делаю Grid с разбиением на столбцы... Что делаю не так?
0
|
|||||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
||
| 04.02.2022, 11:46 | ||
|
Вы выделили в гриде два ряда —
Grid.RowDefinitions = "*, *" и три колонки ColumnDefinitions="*, *, *".А лист бокс Вы поместили в первый ряд, первую колонку. Grid.Row="0" — это значение по умолчанию, его необязательно писать. Следовательно если Вы не указываете Grid.Column, то он тоже имеет значение 0 — то есть первая колонка. Укажите значение Grid.Column="1", чтобы переместить Ваш список во вторую колонку (отсчёт с нуля, не забывайте), или, если Вы хотите например переместить его сразу в две колонки (например в первую и вторую), тогда указывайте Grid.ColumnSpan="2". В таком случае он попадёт и в колонку 0 и в колонку 1. Если Вы хотите поместить его в две последние колонки, то укажите Grid.Column="1" и потом Grid.ColumnSpan="2". Так как мы не указываем Grid.Column — он изначально 0, то и Grid.ColumnSpan поместит список в две первые колонки, а когда мы указываем Grid.Column="1", то мы указываем от какого элемента Grid.ColumnSpan должен "заполнить" нужное количество колонок. Добавлено через 10 минут
- потом, когда пользователь жмакнет эти преславутые кнопки, нужно подсунуть ему какую-то информацию в буфер обмена, например "Hello World"; - если всё успешно, то нужно в буфер обмена ему передать свойство SelectedItemsAsString. Это оно хранит выделенные элементы, которые отображаются в TextBox'e, внизу. Попробуйте сами сделать каждый пункт. Наработки отправляйте сюды.
0
|
||
|
0 / 0 / 0
Регистрация: 12.12.2021
Сообщений: 205
|
|
| 04.02.2022, 11:50 [ТС] | |
|
0
|
|
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 04.02.2022, 11:51 | |
|
покажите
0
|
|
|
0 / 0 / 0
Регистрация: 12.12.2021
Сообщений: 205
|
||
| 04.02.2022, 12:00 [ТС] | ||
|
0
|
||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 04.02.2022, 12:12 | |
|
Sun1212, чтобы они просто были одна под другой? Это не сложно, но Вы бежите вперёд. Для начала разберитесь как отловить Ctrl + C. Пусть при нажатии этих кнопок у Вас будет что-то происходить для теста, например вызываться ошибка
throw new ArgumentException("Была нажата комбинация клавиш Ctrl + C");.Остальное, пока что, не имеет значения. Поищите эту информацию в интернете, я уверен что это очень простая задача. Добавлено через 5 минут я вот о крыл гугл, сразу же нашёл ответ — событие KeyDown
0
|
|
|
Модератор
|
||||||||
| 04.02.2022, 13:06 | ||||||||
|
Что в DataGrid, что в ListView. Добавлено через 11 минут Что-то в таком духе (пишу здесь - могут быть ошибки):
Вот не знаю только в Авалонии есть размерные группы или нет.
1
|
||||||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 04.02.2022, 13:12 | |
|
Элд Хасп, честно говоря -- не понмманию что и куда, там же стоял
<StackPanel Orientation="Horizontal" Background="Red"> ![]() Добавлено через 3 минуты Одно и тоже, только строк меньше
0
|
|
| 04.02.2022, 13:12 | |
|
Скрытие\отображение нового списка при выборе значения из списка с выбором одного элемента Отображение списка и работа с элементом списка Даны два списка строк. Из списка один удалить повторяющиеся элементы списка два Avalonia, азы Для одноуровневого списка строк сформировать итоговую строку сцеплением всех элементов списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
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
хоп хоп хоп хидахоп, а я кладую))
|