powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Контрол для свободного ячеистого размещения элементов и перемещения по ним?
21 сообщений из 21, страница 1 из 1
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37174497
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, на базе чего можно , создать контрол, который поддерживает itemssource , визуально отображает элементы ячейками(подобие excel), и позволяет перемещаться по ним курсором - влево,вправо,вниз,вверх.

я ищу для silverlight.

попробовал уже listbox с шаблоном панеле из wrappanel ,но не то. там зазор, и двигается только слева направо.
кто посоветует что?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37174513
.ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Грид ещё не предлагали?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37174519
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, а как в гриде? там что есть поддержка itemssource?
это нужно,чтобы я коллекцию забиндить смог, и каждый элемент коллекции отобразился через шаблон.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37174638
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataGrid?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37174711
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да можно.
а что нито вообще простое может есть?
потому что у меня данные в видел списка,1 колонка и много строк. а хочется чтобы эта лента, размещалась по логике wrap panel.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37175234
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiK,

ItemControl + WrapPanel?

Если какие-то зазоры появятся то уберите их минусовым Padding'ом или Margin'ом.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37175241
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiK,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        <ItemsControl ItemsSource="{Binding Path=List}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    
                </DataTemplate>
            </ItemsControl.ItemTemplate>
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel>
                        
                    </WrapPanel>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37175277
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюки, 5 баллов.
Благодарю.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37175284
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а есть сразу еще вопрос.
а как реализовать фокус на элементах ?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37178394
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про фокус с itemcontrol может подскажет кто нибудь?
а то чето не догоняю. не уж то придется код писать для фокуса с клавиатуры?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37178410
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю поможет ли...
Тут смысл такой в строке
Код: plaintext
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
Отключается эта еб*ная синяя подсветка при выделении итема, а
Код: plaintext
<Setter TargetName="Border" Property="Effect">
делает то что надо

Код: plaintext
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.
        <Style x:Key="SimpleListBoxItem" TargetType="ListBoxItem">
            <Setter Property="FocusVisualStyle" Value="{x:Null}" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBoxItem">
                        <Border 
                           Name="Border"
                           Padding="2"
                           SnapsToDevicePixels="true">
                            <ContentPresenter />
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="true">
                                <!--<Setter TargetName="Border" Property="Background" Value="{x:Null}"/>-->
                                <Setter TargetName="Border" Property="Effect">
                                    <Setter.Value>
                                        <DropShadowEffect />
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37178586
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так скажем, у меня не listbox, а itemscontrol ?
с листбоксом я понимаю, как это сделать. а вот как на голый itemscontrol это надеть?
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37182926
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ , может ктото подскажет, как сделать навигацию в listbox контроле или itemscontrol контроле?
чтобы использовать клавиши курсора для навигации во всех четырех направлениях.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37185384
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiKнарод , может ктото подскажет, как сделать навигацию в listbox контроле или itemscontrol контроле?
чтобы использовать клавиши курсора для навигации во всех четырех направлениях.

Попробуйте отлавливать нажатие клавиш и вручную перемещать фокус. Как выбрать контрол для фокуса не знаю, тут надо думать. Если не получится нормальным образом, то можно определять координаты контролов относительно панели и по координатам выбирать.

Координаты вычисляются примерно так:

Код: plaintext
Point position = control.TransformToVisual(panel).Transform(new Point());
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242381
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,

авторнарод , может ктото подскажет, как сделать навигацию в listbox контроле или itemscontrol контроле?
чтобы использовать клавиши курсора для навигации во всех четырех направлениях.

ItemsControl не умеет ничего про фокус дочерних элементов. Придется реализовавыть "вручную". При это каждая подставляемая Item должна иметь своймтво IsSelected и т.д. Я писал себе контрол с подобным функционалом. Он просто двигает влево и вправо свои дочерние элементы. А элементы могут выбираться... На картинке во вложении видно.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242382
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Картинку с демо проекта своей библиотеки контролов забыл прилепить.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242494
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, я нашел выход.
Это управление фокусом, через источник данных лежащий под коллекцией. то есть делаем конвертер на свойство Fill (оно выделяет визуально) и собственно, если 1 то fill=красный, если ноль, то пусть.
написать еще переводчик из одной системы координат в другую и норм.
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242518
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiK,

как реализуете не забудьте поделиться, сообщество будет благодарно :)
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242571
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Я бы это делал с помощью datagrid
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37242608
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

DataGrid тяжелый и несет много не нужного функционала :)
...
Рейтинг: 0 / 0
Контрол для свободного ячеистого размещения элементов и перемещения по ним?
    #37246851
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче все сделано следующим образом:
1.создан класс для хранения данных тип list (of MyClass)
2.он реализует INotifyPropertyChanged
3.в классе есть одно свойство : Current, тип boolean.

в datatemplate делаем некую визуализацию ,которая будет визуально показывать ,что объект текущий и выделен. у меня это прямоугольник с заливкой.
в datatemplate делаем связку свойства fill прямоугольника со свойством Current , через конвертер,так чтобы при 1 заливаем красным, при 0 заливаем черным.
красный означает выделено.

дальше на keydown листбокса, сажаем код,который при нажатии нужной клавиши, активирует свойство Current у нужного элемента коллекции :
Items(0).Current=1
индекс элемента подсчитывается по нужному вам алгоритму.
у меня это квадрат.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Контрол для свободного ячеистого размещения элементов и перемещения по ним?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]