2013-03-20 6 views
1

Я хочу добавить изображения в WrapPanel, и я хочу видеть их все без прокрутки. Я изменяю размеры изображений при добавлении нового ребенка. У меня есть класс, который наследуется от WrapPanel и Resize() будет запущен, когда ребенок будет добавлен. Вот код:Подходит всем детям WrapPanel без полос прокрутки

public void Resize() 
    { 
     int c = this.Children.Count; 
     int d = 1; 
     if (c <= 4 && c>1) d = 2; 
     else if (c <= 9 && c>4) d = 3; 
     else if (c <= 16 && c > 9) d = 4; 

     foreach (UIElement child in this.Children) 
     { 
      dynamic ctrl = child; 
      ctrl.Width = this.Width/d; 
     } 
    } 

Это лучший подход?

+0

Как насчет использования 'UniformGrid', вам нужно только установить количество строк/столбцов на основе количества изображений, которые у вас есть, и масштабирует их все, чтобы они соответствовали. –

+0

Мне это нравится. Спасибо, sa_ddam213 – Dilshod

ответ

1

sa_ddam213 дал мне идею использования UniformGrid. Это решило мою проблему. Я отвечаю на свой вопрос, чтобы задать этот вопрос как «Ответ».

Смежные вопросы