Я сделал привязку с помощью WrapPanel и ItemsControl. ОК.Замена обрезанных символов в содержимом WrapPanel item
<ItemsControl
ItemsSource="{Binding Stations, Source={StaticResource Container}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type sys:String}">
<Button
Margin="5,5,5,5"
Content="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Следующее, что меня беспокоит, это то, что я хочу сделать кнопки более умными. Я хочу, чтобы они заменили пару последних символов тремя точками, если строка превышает границу содержимого кнопки. Мне нужно такое поведение, потому что я хочу предоставить по крайней мере три столбца на экране.