WrapPanel в Silverlight, привязка объектов CLR

Кто-нибудь может мне помочь? Мне нужно привязать объекты CLR к WrapPanel в SILVERLIGHT. В конце должно быть отображено несколько эскизов изображений с их описанием (текстом). Я знаю, как это сделать с помощью ListBox, но мне нужно, чтобы это была WrapPanel, чтобы мои большие пальцы отображались горизонтально и переходили в новый необработанный файл ... и так далее.


person Community    schedule 04.05.2009    source источник


Ответы (2)


В этом случае вы по-прежнему хотите, чтобы вашим элементом управления был ListBox, но вы устанавливаете ItemsPanel для ListBox как WrapPanel, например

        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel IsItemsHost="True" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>

Затем он отобразит элементы по горизонтали и завершится в конце строки.

person cosullivan    schedule 04.05.2009
comment
Спасибо за это, но я не совсем уверен, как это использовать. Я имею в виду, что мой код XAML совсем не похож ... даже близко. ‹ItemsPanelTemplate› вызывает ошибки. - person ; 04.05.2009
comment
К сожалению, вам также необходимо загрузить набор инструментов Silverlight, поскольку WrapPanel не является частью стандартной структуры Silverlight. www.codeplex.com/Silverlight ваш XAML будет выглядеть ‹ListBox› ‹ListBox.ItemsPanel› ‹ItemsPanelTemplate› ‹инструментарий: WrapPanel /› ‹/ItemsPanelTemplate› ‹/ListBox.ItemsPanel›‹ /ListBox.ItemsPanel ›‹/ListBox›, чтобы создать окно списка› ‹/ListBox›. - person cosullivan; 04.05.2009
comment
Да, я действительно установил инструментарий. Согласно коду, который вы мне отправляете, все выглядит нормально, но как только я пытаюсь привязать контент, ничего видимого не происходит. Я также попытался скопировать / вставить свой код элемента в WrapPanel, но ItemTemplate и ItemSource не распознаются и вызывают ошибки. В ListBox все выглядит идеально, но мне все еще нужно в WrapPanel (сначала по горизонтали). Спасибо за вашу помощь ... - person ; 05.05.2009

Проблема решена. Мне пришлось заменить StackPanel ВНУТРИ ListBox на WrapPanel. Очень просто ... просто нужно это знать!

person Community    schedule 05.05.2009