Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Автоматическое растягивание кнопки по ширине / 12 сообщений из 12, страница 1 из 1
09.07.2020, 16:40
    #39977824
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Здравствуйте!

Есть такая разметка.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<Window x:Class="WpfApp_test2_.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp_test2_"
        mc:Ignorable="d"
        Title="MainWindow" Height="100" Width="200">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"></RowDefinition>
            <RowDefinition Height="50*"></RowDefinition>
        </Grid.RowDefinitions>
       
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0">
            <TextBlock Text="X:" Margin="5,5,5,5" />
            <TextBox Name="TexBoxXTest" Width="40" Margin="0,5,0,5" />
            <TextBlock Text="Y:" Margin="10,5,5,5"/>
            <TextBox Name="TexBoxYTest" Width="40" Margin="0,5,0,5" />
        </StackPanel>

        <StackPanel Orientation="Horizontal" Grid.Row="1">
            <Button Content="Кнопка1" Margin="5" HorizontalAlignment="Center" />
        </StackPanel>
    </Grid>
</Window>

Скажите, как правильно написать, чтобы ширина Button автоматически определялась в зависимости от родительского элемента StackPanel (где в свою очередь зависит от ширины Grid , где зависит от Window , в котором задана ширина)? Или в данном случае надо использовать не StackPanel , а другую компоновку?
...
Рейтинг: 0 / 0
09.07.2020, 16:49
    #39977828
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
ferzmikk
Или в данном случае надо использовать не StackPanel , а другую компоновку?

Да. StackPanel с горизонтальной ориентацией именно так определяет размеры дочерних элементов, и с этим ничего не поделать.
...
Рейтинг: 0 / 0
09.07.2020, 17:37
    #39977842
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Сон Веры Павловны,

c этим и не требуется ничего делать, он работает как должен, а автор хочет не StackPanel, но я даже не понял, что он хочет.
MinWidth, ActialWidth (r/o),
UniformGrid\Grid
...
Рейтинг: 0 / 0
10.07.2020, 11:12
    #39978029
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Roman Mejtes
а автор хочет не StackPanel, но я даже не понял, что он хочет.
Нужно чтобы ширина кнопки автоматически растягивалась в зависимости от родительского элемента.
...
Рейтинг: 0 / 0
10.07.2020, 11:14
    #39978031
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Если так написать, без StackPanel ,
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"></RowDefinition>
            <RowDefinition Height="50*"></RowDefinition>
        </Grid.RowDefinitions>        

        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0">
            <TextBlock Text="X:" Margin="5,5,5,5" />
            <TextBox Name="TexBoxXTest" Width="40" Margin="0,5,0,5" />
            <TextBlock Text="Y:" Margin="10,5,5,5"/>
            <TextBox Name="TexBoxYTest" Width="40" Margin="0,5,0,5" />
        </StackPanel>

        <Button Content="Кнопка1" Margin="5" HorizontalAlignment="Center" Grid.Row="1"/>       
    </Grid>

также все
...
Рейтинг: 0 / 0
10.07.2020, 11:16
    #39978033
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
ferzmikk
Roman Mejtes
а автор хочет не StackPanel, но я даже не понял, что он хочет.
Нужно чтобы ширина кнопки автоматически растягивалась в зависимости от родительского элемента.
В зависимости от родительского элемента, коим у тебя является стэкпанель, которая автоматически растягивается в зависимости от дочерних элементов

Ты определись, что должно быть раньше, яйцо или курица? Нарисуй в паинте что ли, если словами не получается.
...
Рейтинг: 0 / 0
10.07.2020, 11:20
    #39978036
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Может быть тебе вот это надо?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  <Grid HorizontalAlignment="Left">
    <Grid.RowDefinitions>
      <RowDefinition Height="30"></RowDefinition>
      <RowDefinition Height="50*"></RowDefinition>
    </Grid.RowDefinitions>

    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0">
      <TextBlock Text="X:" Margin="5,5,5,5" />
      <TextBox Name="TexBoxXTest" Width="40" Margin="0,5,0,5" />
      <TextBlock Text="Y:" Margin="10,5,5,5"/>
      <TextBox Name="TexBoxYTest" Width="40" Margin="0,5,0,5" />
    </StackPanel>

    <Button Content="Кнопка1" Margin="5" HorizontalAlignment="Stretch" Grid.Row="1"/>
  </Grid>
...
Рейтинг: 0 / 0
10.07.2020, 11:27
    #39978039
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Shocker.Pro
Нарисуй в паинте что ли, если словами не получается.
...
Рейтинг: 0 / 0
10.07.2020, 11:29
    #39978040
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Shocker.Pro
Может быть тебе вот это надо?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  <Grid HorizontalAlignment="Left">
    <Grid.RowDefinitions>
      <RowDefinition Height="30"></RowDefinition>
      <RowDefinition Height="50*"></RowDefinition>
    </Grid.RowDefinitions>

    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0">
      <TextBlock Text="X:" Margin="5,5,5,5" />
      <TextBox Name="TexBoxXTest" Width="40" Margin="0,5,0,5" />
      <TextBlock Text="Y:" Margin="10,5,5,5"/>
      <TextBox Name="TexBoxYTest" Width="40" Margin="0,5,0,5" />
    </StackPanel>

    <Button Content="Кнопка1" Margin="5" HorizontalAlignment="Stretch" Grid.Row="1"/>
  </Grid>

Да. Спасибо!
...
Рейтинг: 0 / 0
10.07.2020, 11:40
    #39978048
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
ferzmikk
Да. Спасибо!
Ну так ты формулируй внятно, тогда и будет тебе ответ сразу
ferzmikk
чтобы ширина Button автоматически определялась в зависимости от родительского элемента StackPanel
...
Рейтинг: 0 / 0
10.07.2020, 12:12
    #39978066
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
ferzmikk
Если так написать, без StackPanel ,
Код: html
1.
<Button Content="Кнопка1" Margin="5" HorizontalAlignment="Center" Grid.Row="1"/>


также все

А что означает HorizontalAlignment="Center" интуитивно не понятно?
...
Рейтинг: 0 / 0
10.07.2020, 12:35
    #39978083
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое растягивание кнопки по ширине
Сон Веры Павловны
А что означает HorizontalAlignment="Center" интуитивно не понятно?
вангую, ТС считал, что это относится к выравниванию контента кнопки )
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Автоматическое растягивание кнопки по ширине / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]