WPF контролирует, экономит недвижимость - PullRequest
2 голосов
/ 30 августа 2011

Я довольно новичок в WPF и C # и пытаюсь помочь с некоторыми графическими интерфейсами для работы.В основном у нас есть 3 секции, LHS (левая сторона) [раздел 1], RHS, который имеет верхнюю и нижнюю секции [раздел 2 и раздел 3].Похоже на это

1 | 2
1 | -
1 | 3

Они хотят, чтобы уменьшить каждый раздел одним нажатием кнопки.В настоящее время |и - элементы проставки, которые можно перетаскивать (Редактировать: это делается с помощью сетки, которая им не нравится).Я провел небольшое исследование и увидел, что есть предметы экспандера и аккордеона.Я не знал, можно ли использовать любой из них для этого сценария, и что будет наименее хлопот.При попытке каждого из них всплывают некоторые дополнительные вопросы для элементов управления, так как я не знаком с ними.

Расширитель: Сужая раздел 1, он получит разделы 2 и 3, а затем займет весьэкран?Или это можно сделать только с Аккордеоном?Трудно / легко изменить значки <> на + - значки?Если да, то есть какой-нибудь учебник?

Аккордеон: Можно ли изменить <> на + -?Если так, какой-нибудь учебник там?Можно ли изменить цвет по умолчанию синий?

TIA

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Expander звучит как подходящий вариант для вашей ситуации.К счастью, он поставляется с WPF из коробки, в отличие от элемента управления Accordion.Но я нашел этот вопрос, связанный с Accordion control , и подумал, что вам было бы полезно проверить.

Чтобы изменить внешний вид кнопки-переключателя Expander, вы захотитеизменить шаблон управления .Изменение шаблона для отображения плюса или минуса вместо стрелок не слишком сложно.Если вы перейдете по ссылке, то увидите, что захотите изменить ExpanderToggleButton часть шаблона.

Поскольку вы просто хотите перейти от использования стрелок к знакам плюс / минус, вы можете простоизмените данные Path для свернутой / развернутой стрелки.Вы можете посмотреть здесь для получения дополнительной информации о рисовании простых фигур с путем.

Здесь является примером того, как кто-то изменил шаблон управления Expander.Это для другого твика по внешнему виду, но это должно быть полезно, если вы решите пойти по этому маршруту.

РЕДАКТИРОВАТЬ:

Действительно простой пример(без изменения внешнего вида ToggleButton), чтобы получить представление о том, как сжимать и сохранять недвижимость:

<Grid>
   <Grid.ColumnDefinitions>
       <ColumnDefinition Width="Auto" />
       <ColumnDefinition Width="Auto" />
   </Grid.ColunmDefinitions>
   <Grid.RowDefinitions>
       <RowDefinition Height="Auto" />
       <RowDefinition Height="Auto" />
   </Grid.RowDefinitions>
   <Expander Name="Section1" Grid.RowSpan="2" Grid.Colunm="0" ExpandDirection="Left">
       <!-- Stuff goes here -->
   </Expander>
   <Expander Name="Section2" Grid.RowSpan="0" Grid.Colunm="1" 
       <!-- Stuff goes here -->
   </Expander>
   <Expander Name="Section3" Grid.RowSpan="1" Grid.Colunm="0" 
       <!-- Stuff goes here -->
   </Expander>
</Grid>
1 голос
/ 30 августа 2011

Вы можете использовать GridSplitter.Пользователь может перетащить их, чтобы изменить размер.Не клик - перетаскивание.

   <GridSplitter Grid.Row="1" Grid.Column="1" 
                  Width="3" Background="Purple" VerticalAlignment="Stretch" HorizontalAlignment="Center" ShowsPreview="False" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...