Как да оправдаете елементите в панел за обвиване?

С помощта на обвиващ панел в WPF можете да подреждате елементи хоризонтално.

Пример тук: Урок за WPF | Панел за обвиване

Сега искам да разположа елементите еднакво, за да запълня цялата ширина. Като текст, но елементи вместо думи. Как мога да постигна това?

Редактиране: Показвам ви какво всъщност имам:

въведете описание на изображението тук

Избирам държави в най-долния списък и показвам избраните държави в рамките на обвиващ панел.

Искам автоматично да коригирам разстоянието между границите, за да направя Испания и Тайланд точно като Сингапур.


person Avlin    schedule 29.11.2013    source източник
comment
вижте това: stackoverflow.com/questions/2817620/   -  person cederlof    schedule 29.11.2013
comment
използвайте решетка, посочете броя на колоните и споделете ширината. вижте връзката по-долу   -  person Kumareshan    schedule 29.11.2013
comment
Искам да променя разстоянието между елементите, елементите могат да бъдат с различна ширина   -  person Avlin    schedule 29.11.2013


Отговори (1)


Единственият начин, по който се сещам, че можете да направите това в WPF, е да създадете нов персонализиран Panel клас. Можете да използвате това Panel като ItemsPanelTemplate в контрола за събиране като тази:

<ListBox ItemsSource="{Binding YourCollection}">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <YourXmlNamespacePrefix:YourJustifyPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

Можете да разберете как да създадете персонализиран Panel от следните връзки:

Как да създадете персонализиран панел с оформление в WPF
Създаване на персонализирани панели в WPF

Ще бъде предизвикателство, но е възможно. За съжаление, няма лесен вариант за това изискване. Късмет.

person Sheridan    schedule 29.11.2013