powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Автоматическое растягивание кнопки по ширине
12 сообщений из 12, страница 1 из 1
Автоматическое растягивание кнопки по ширине
    #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
Автоматическое растягивание кнопки по ширине
    #39977828
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk
Или в данном случае надо использовать не StackPanel , а другую компоновку?

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

c этим и не требуется ничего делать, он работает как должен, а автор хочет не StackPanel, но я даже не понял, что он хочет.
MinWidth, ActialWidth (r/o),
UniformGrid\Grid
...
Рейтинг: 0 / 0
Автоматическое растягивание кнопки по ширине
    #39978029
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
а автор хочет не StackPanel, но я даже не понял, что он хочет.
Нужно чтобы ширина кнопки автоматически растягивалась в зависимости от родительского элемента.
...
Рейтинг: 0 / 0
Автоматическое растягивание кнопки по ширине
    #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
Автоматическое растягивание кнопки по ширине
    #39978033
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk
Roman Mejtes
а автор хочет не StackPanel, но я даже не понял, что он хочет.
Нужно чтобы ширина кнопки автоматически растягивалась в зависимости от родительского элемента.
В зависимости от родительского элемента, коим у тебя является стэкпанель, которая автоматически растягивается в зависимости от дочерних элементов

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


также все

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


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