Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Есть Panel, которая содержит в себе определенное количество UserControl'ов, назовем их UCMain. UCMain содержит StackPanel, который в свою очередь содержит n-ое количество Button'ов. Необходимо в Panel поменять местами два UCMain, что-бы в списке поменялись и соответственно поменялись местами визуально. Все это я обеспечил следующем образом: Код: plaintext 1. 2. Так вот, есть ли более правильный способ перемещения элементов UIElementCollection? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:32 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
засуньте их в грид, каждую кнопку в свою строчку и меняйте программно номер строки Grid.SetRow(ButtonI, 23); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 20:14 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Не. Коней на переправе не меняют. А если и буду менять панель (что достаточно сложно), то на VirtualizingPanel в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 21:19 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
неожиданный ответ, да еще и в таком тоне, будто я вас что-то заставляю делать можно так: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 21:23 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Я значительно упросил описание системы. Там есть и Drag&Drop и связанная с ним анимация, и много всего прочего. По этому я даже не знаю, можно ли поменять контейнер. Нужно именно в UIElementCollection поменять позиции контролсов, и так что бы он не пересоздавался, а сохранял свое состояние. P.S. Извиняюсь если мой ответ показался грубым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 21:43 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
тогда остается сабклассить StackPanel и делать там управление расположением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 21:50 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
А как ObservableCollection привязать к Grid'у? Что-бы вместе с экземпляром ObservableCollection создавалась срока для Grid'а и туда помешался экземпляр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 15:58 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
То есть как поменять тут StackPanel на Grid: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 17:36 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 18:07 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
и что-то я не совсем понимаю задачу - button-ы это Steps или нечто внутри Step-а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 18:13 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Steps это ObservableCollection моделей Button'ов, а там в шаблоне собственно представление Button'а. Button это я так для простоты назвал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 18:29 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Вестник Код: plaintext 1. 2. 3. 4. 5. 6. 7. Таким образом у Grid'а одна ячейка и все контролсы помешаются в эту ячейку, можете себе представить что из этого получается. По идее нужно в шаблоне прописать создание новой строки. Как это сделать не пойму. Дизайнер ругается на теги, в теле шаблона, <Grid> и <ColumnDefinitions>. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 18:35 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Вот http://ru.efreedom.com/Question/1-691339/WPF-GridViewRowPresenter-%D0%B2-ItemsControl . Первое решение не подходит. Потому что для каждого контролса создается отдельный Grid. А нужно что бы все контролсы были на одном Grid'е. Остается сабкласить Grid. Только непонятно каким образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 19:10 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
авторТаким образом у Grid'а одна ячейка и все контролсы помешаются в эту ячейкуу грида вы можете создать столько строк, сколько нужно, но привязать это к количеству строк в OC -- простым и ясным способом не получится. как забиндить Grid.Row -- тоже не совсем прозрачно я бы все таки писал свой StackPanel и пилил MeasureOverride и ArrangeOverride ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 19:16 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
Автор___________Steps это ObservableCollection моделей Button'ов а если просто пересоздать коллекцию (но не элементы), с нужной сортировкой элементов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 19:47 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
LR, наверное не получится, т.к. может вывалиться ошибка "элемент уже является дочерним для другого элемента". мое преложение оспользовать вместо StackPanel что-то другое, как например ListView где можно подменить ItemPanelTemplate вот так я например вывожу ссылки на документы: <ListBox x:Name="lbAnketa" Grid.Row="5" Grid.ColumnSpan="5" MinHeight="20"> <ListBox.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" Background="Transparent"/> </ItemsPanelTemplate> </ListBox.ItemsPanel> <ListBox.ItemTemplate> <DataTemplate> <HyperlinkButton NavigateUri="{Binding Path=URL}" ToolTipService.ToolTip="{Binding Path=URL}" Content="{Binding Path=Name}" TargetName="_blank" /> </DataTemplate> </ListBox.ItemTemplate> </ListBox> в случае автора, необходимо будет заменить содержимое DataTemplate на к примеру ContentPresenter и в качестве источника подсовывать List<UIElement> который вы можете сортировать как душе угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 22:25 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
уТКа, глаза уже замылились (готовлюсь на MCP Silverlight Development), говорю про ListBox а пишу про ListView. по сути так же можно поступить и со StackPanel с подсовыванием коллекции контролов которые нужно отобразить, путем формирования нового списка с уже существующими элементами, в любом случае нужно эксперементировать, однозначного ответа пока нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 22:34 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
уТКанаверное не получится, т.к. может вывалиться ошибка "элемент уже является дочерним для другого элемента". ну х.з., в моем тесте не вываливается... впрочем, и "увесистые UserControl'ы" (UserControl с 3-4 Button'ами) в описанном автором случае (Children.RemoveAt(index2);Children.Insert(index1, el);) не пересоздаются... автор, необходимо какое-то репро, т.к. вопрос неясен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 01:20 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
LRуТКанаверное не получится, т.к. может вывалиться ошибка "элемент уже является дочерним для другого элемента". ну х.з., в моем тесте не вываливается... впрочем, и "увесистые UserControl'ы" (UserControl с 3-4 Button'ами) в описанном автором случае (Children.RemoveAt(index2);Children.Insert(index1, el);) не пересоздаются... автор, необходимо какое-то репро, т.к. вопрос неясен Я немного не так выразился, они не пересоздаются а выгружаются с дерева объектов и снова туда заносятся в результате операций Remove и Insert. Что влечет избыточною нагрузку, которую по идее можно избежать. Повесь на контролс обработчик события Loaded и понаблюдай что происходит с контролсами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 16:18 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
@автор Вестникзасуньте их в грид, каждую кнопку в свою строчку и меняйте программно номер строки Grid.SetRow(ButtonI, 23); ну если не хотите нагрузки, попробуйте все таки этот вариант, это будет самый щадящий способ с точки зрения нагрузки на процессор, так же будет вполне удобен, просто реализуйте методы и вызывайте в нужный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 19:44 |
|
||
|
Перемещение контролсов в UIElementCollection.
|
|||
|---|---|---|---|
|
#18+
уТКа@автор Вестникзасуньте их в грид, каждую кнопку в свою строчку и меняйте программно номер строки Grid.SetRow(ButtonI, 23); ну если не хотите нагрузки, попробуйте все таки этот вариант, это будет самый щадящий способ с точки зрения нагрузки на процессор, так же будет вполне удобен, просто реализуйте методы и вызывайте в нужный момент. На Grid заменить, к сожалению, не получится. В шаблоне нельзя создать новые строки при генерации контролсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 20:35 |
|
||
|
|

start [/forum/topic.php?fid=21&fpage=60&tid=1442614]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 139ms |

| 0 / 0 |
