Понедельник, 19 Апреля 2021, 00:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Visual Studio C# (ScrollViewer and StackPanel)
Visual Studio C#
НевесомыйДата: Воскресенье, 12 Мая 2013, 18:01 | Сообщение # 1
был не раз
Сейчас нет на сайте


Как реализовать прокрутку по вертикали, но чтобы при этом в 1 строке находилось 3 кнопки?
Т.е. чтобы получился вид/таблица 3x3


Код
<Window x:Class="Menu.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Title="MainWindow" Height="480" Width="800">
      <Grid Margin="0,0,-8,-8">
          <TabControl HorizontalAlignment="Left" Height="357" Margin="271,29,0,0" VerticalAlignment="Top" Width="519">
              <TabItem Header="Выбор сервера">
                  <Grid Background="#FFE5E5E5">
                      <ScrollViewer HorizontalAlignment="Left" Height="262" Margin="10,10,0,0" VerticalAlignment="Top" Width="488">
                          <StackPanel Name="stackPanelButtons" Width="488" HorizontalAlignment="Left" VerticalAlignment="Top">
                    <Button Content="Общий сервер 001" Width="160" Height="76" Margin="2"></Button>
                    <Button Content="Общий сервер 002" Width="160" Height="76" Margin="2"></Button>
                    <Button Content="Общий сервер 003" Width="160" Height="76" Margin="2"></Button>
                    <Button Content="Общий сервер 004" Width="160" Height="76" Margin="2"></Button>
                    <Button Content="Общий сервер 005" Width="160" Height="76" Margin="2"></Button>
                    <Button Content="Общий сервер 006" Width="160" Height="76" Margin="2"></Button>
                          </StackPanel>
                      </ScrollViewer>
                      <Button Content="Обновить" HorizontalAlignment="Left" Height="42" Margin="410,277,0,0" VerticalAlignment="Top" Width="42"/>
                      <Button Content="Вход" HorizontalAlignment="Left" Height="42" Margin="457,277,0,0" VerticalAlignment="Top" Width="42"/>
                  </Grid>
              </TabItem>
          </TabControl>
      </Grid>
</Window>


Сообщение отредактировал Невесомый - Воскресенье, 12 Мая 2013, 18:01
YellowAfterlifeДата: Среда, 15 Мая 2013, 17:37 | Сообщение # 2
Сейчас нет на сайте
Наверное это немного "хак", но:
* Создаем вертикальный StackPanel (уже есть)
* Вставляем в него горизонтальные StackPanel (Orientation: Horizontal)
* Вставляем в горизонтальные панели сами кнопки.
На выходе получаем "табличный вариант", подобный table-tr-td в HTML DOM.
Например так:
Код
<Window x:Class="WpfTest.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Title="MainWindow" Height="212" Width="196">
      <Grid>
          <StackPanel Height="168" HorizontalAlignment="Center" Name="stackPanel1" VerticalAlignment="Center" Width="168" Grid.Row="0">
              <StackPanel Height="40" Name="stackPanel2" Width="160" HorizontalAlignment="Stretch" Orientation="Horizontal" Margin="0,4,0,0">
                  <Button Content="#" Height="32" Name="button1" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button2" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button3" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button4" Width="32" Margin="4" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel3" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button5" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button6" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button7" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button8" Width="32" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel4" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button9" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button10" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button11" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button12" Width="32" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel5" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button13" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button14" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button15" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button16" Width="32" />
              </StackPanel>
          </StackPanel>
      </Grid>
</Window>

P.S.: Уже некоторое время не видел чтобы люди активно разрабатывали что-либо на WPF. Что привело к использованию данного фреймворка?




Сообщение отредактировал YellowAfterlife - Среда, 15 Мая 2013, 17:37
Форум игроделов » Программирование » C/C++ » Visual Studio C# (ScrollViewer and StackPanel)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг