Что лучше в WPF для расположения UI, с помощью одной Сетки или вложенных Сеток

Я делаю UI в WPF, у меня есть набор функциональных областей, и я использую Сетку для организации его.

Теперь Сетка, которую я хочу, не универсальна, поскольку в, некоторая функциональная область охватит несколько ячеек в Сетке. Я задавался вопросом, что наиболее успешная практика находится в решении этого. Если я создаю одну сетку, и затем для каждой функциональной области устанавливает его для охвата нескольких ячеек, или если я разделил ее на несколько вложенных Сеток.

В этом изображении крайняя левая панель (панели, разделенные серой панелью), - то, что я хочу. Средние телевикторины одна сетка, где синие строки перекрываются функциональной областью. Самые правые телевикторины, как я мог сделать это с вложенными сетками. Вы видите, что зеленая сетка имеет одно горизонтальное разделение. В нижней части ячейкой является желтая Сетка с вертикальным разделением. В стороне левой ячейкой является красная Сетка со снова горизонтальным разделением. Сетки http://www.freeimagehosting.net/uploads/08f2711bae.jpg

Я просто задавался вопросом, что такое наиболее успешная практика, середина или правильная панель.

ОБНОВЛЕНИЕ: Только для разъяснения, больше 'кода ориентировало' пример:

Средняя панель


    
        
        
        
     

    
        
        
    

    
    
    
    

Панель Right:


    
        
        
    

    

    
        
            
            
        

        
            
                
                
            

            
            
        

        
    

Обновление: Я должен признать, что теперь, когда я выписал код для обоих подходов, решение "для промежутка" выглядит намного лучше.

12
задан Matthijs Wessels 28 March 2010 в 14:24
поделиться

4 ответа

Я бы лично пошел с вашим средним макетом, используя одну сетку с диапазонами столбцов и строк, чтобы структурировать общий макет пользовательского интерфейса, а затем поместить панель в каждый из этих разделов, чтобы содержать фактические элементы управления (и, возможно, дальнейший подробный макет).

3
ответ дан 2 December 2019 в 23:07
поделиться

Честно говоря, я бы выбрал док-панель или что-то подобное для композиции верхнего уровня и сетки для нижнего уровня

1
ответ дан 2 December 2019 в 23:07
поделиться

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

Что я могу посоветовать, так это создать UserControl для каждой функциональной области, а затем иметь сетку для организации этих областей.

Каждый UserControl затем может создавать свой собственный макет (с другой сеткой, или более простой StackPanel, или что-то еще) и отвечает за отображение подмножества данных / обработку пользовательских событий в своей собственной области.

Тогда внешняя сетка является арбитром для вещей, которые включают более одной области (например, пересылка событий между областями).

1
ответ дан 2 December 2019 в 23:07
поделиться

Я бы рекомендовал создать одну главную сетку, разделенную на функциональные области, а затем создать отдельные сетки / стековыепанели / и т. Д. В этих областях. Вы можете не знать требований к каждой функциональной области, поэтому вы можете свободно расположить их элементы и переключаться между макетами. Когда вы помещаете все в одну сетку со столбцами и / или строками диапазона - вы получаете «трудный в управлении» макет.

2
ответ дан 2 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: