WPF - маржа в процентах - PullRequest
5 голосов
/ 11 октября 2010

Я только начал использовать WPF. С тех пор я разбираюсь с системой стилей. Я пришел из CSS-фона и хотел бы установить маржу в процентах.

    <Style TargetType="TextBlock" x:Key="workflowNameTextBlock">            
        <Setter Property="Margin" Value="50"/>            
    </Style>

В настоящее время значение задано в пикселях, но я бы хотел установить его в%, т. Е. 50%.

Как мне этого добиться?

Спасибо

Ответы [ 2 ]

14 голосов
/ 12 октября 2010

Вот как вы реализуете 20% левого и правого полей в WPF:

<Grid>
   <Grid.ColumnDefinitions>
      <ColumnDefinition Width="2*"/>
      <ColumnDefinition Width="6*"/>
      <ColumnDefinition Width="2*"/>
   </Grid.ColumnDefinitions>
   <TextBlock Grid.Column="1" Text="Hello, world."/>
</Grid>

Это может показаться смешным, если вы пытаетесь повторно реализовать простой макет CSS в WPF, но это потому, что реализация простых макетов CSS на самом деле не является проблемным пространством, вокруг которого спроектирован WPF.

3 голосов
/ 11 октября 2010

Вместо использования Margin вы можете сделать это через Grid.

Просто поместите свой элемент управления в элемент Grid и используйте 3 столбца и 3 строки.Размер столбца / строки можно указать в процентах от содержащего элемента.

...