powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / xaml grid margin style
7 сообщений из 7, страница 1 из 1
xaml grid margin style
    #39210328
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Подскажите пожалуйста как установить стиль Label через стили ColumnDefinitions.Resource. Вроде делаю все правильно, но почему-то не срабатывает.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<Grid HorizontalAlignment="Left">
     <Grid.ColumnDefinitions>
            <ColumnDefinition Width="190">
                  <ColumnDefinition.Resources>
                        <Style TargetType="{x:Type Label}">
                             <Setter Property="Margin" Value="20,0,0,0" />
                        </Style>
                  </ColumnDefinition.Resources>
            </ColumnDefinition>
                  <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                  <RowDefinition />
            </Grid.RowDefinitions>
      <Label Grid.Column="0" Grid.Row="0"  Content="ААА" HorizontalAlignment="Left" VerticalAlignment="Center"/>
      <wpf:ComboBox />
</Grid>
...
Рейтинг: 0 / 0
xaml grid margin style
    #39210353
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nechtoустановить стиль Label через стили ColumnDefinitions.ResourceНикак, метка не находится внутри ColumnDefinition, так что этот стиль на нее не повлияет.

Объявляй на уровне грида.
...
Рейтинг: 0 / 0
xaml grid margin style
    #39210492
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ресурсы можно определять только в объектах визуального дерева,
Column~ и RowDefenision у Grid, это не объекты визуального дерева, а обычные свойства, даже не свойства зависимости.
это обычная коллекция, которая обладает возможностью нотификации для Грида о своих изменениях (не ObservableCollection)
Сами ColumnDefinision и RowDefinision наследуются от FrameworkContentElement потому, что в них применяется Binding, а Binding работает только в DependencyObject объектами и свойствами зависимостей.

Если необходимо определить в определенном столбце соответствующий стиль объекта, нужно либо поместить контейнер в нужном месте грида и задать ему стиль, либо задать ключ стиль не по умолчанию, а собственный и настроить стиль у содержимого грида так, как вам надо.
...
Рейтинг: 0 / 0
xaml grid margin style
    #39210497
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesЕсли необходимо определить в определенном столбце соответствующий стиль объекта, нужно либо поместить контейнер в нужном месте грида и задать ему стиль, либо задать ключ стиль не по умолчанию, а собственный и настроить стиль у содержимого грида так, как вам надо.Как вариант, применить стиль триггером, где (Grid.Column)="0"
...
Рейтинг: 0 / 0
xaml grid margin style
    #39210679
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProRoman MejtesЕсли необходимо определить в определенном столбце соответствующий стиль объекта, нужно либо поместить контейнер в нужном месте грида и задать ему стиль, либо задать ключ стиль не по умолчанию, а собственный и настроить стиль у содержимого грида так, как вам надо.Как вариант, применить стиль триггером, где (Grid.Column)="0"

Как это сделать?
...
Рейтинг: 0 / 0
xaml grid margin style
    #39210995
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  <Grid HorizontalAlignment="Left">
    <Grid.Resources>
      <Style TargetType="Label">
        <Style.Triggers>
          <Trigger Property="Grid.Column" Value="0">
            <Setter Property="Margin" Value="20,0,0,0" />
          </Trigger>
        </Style.Triggers>
      </Style>
    </Grid.Resources>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="190" />
      <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition />
    </Grid.RowDefinitions>
    <Label Grid.Column="0" Grid.Row="0"  Content="ААА" HorizontalAlignment="Left" VerticalAlignment="Center"/>
    <Label Grid.Column="1" Grid.Row="0"  Content="BBB" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  </Grid>


только
а) это несколько громоздкий путь, лучше по возможности все-таки использовать вложенные контейнеры или явное указание стиля
б) это будет влиять на все метки нулевого столбца всех вложенных гридов
...
Рейтинг: 0 / 0
xaml grid margin style
    #39211603
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  <Grid HorizontalAlignment="Left">
    <Grid.Resources>
      <Style TargetType="Label">
        <Style.Triggers>
          <Trigger Property="Grid.Column" Value="0">
            <Setter Property="Margin" Value="20,0,0,0" />
          </Trigger>
        </Style.Triggers>
      </Style>
    </Grid.Resources>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="190" />
      <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition />
    </Grid.RowDefinitions>
    <Label Grid.Column="0" Grid.Row="0"  Content="ААА" HorizontalAlignment="Left" VerticalAlignment="Center"/>
    <Label Grid.Column="1" Grid.Row="0"  Content="BBB" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  </Grid>


только
а) это несколько громоздкий путь, лучше по возможности все-таки использовать вложенные контейнеры или явное указание стиля
б) это будет влиять на все метки нулевого столбца всех вложенных гридов
самоё классное в свойстве Margin это то, что можно задать отрицательное значение :) у Padding такое нельзя :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / xaml grid margin style
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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