Можно ли создать стиль для сетки 2x2 в WPF? - PullRequest
2 голосов
/ 29 августа 2009

Я пытаюсь сделать что-то вроде этого ...

<Style
    x:Key="TwoByTwoGridStyle"
    TargetType="Grid">
    <Setter
        Property="Grid.RowDefinitions">
        <Setter.Value>
            <ControlTemplate>
                <RowDefinition
                    Height="*" />
                <RowDefinition
                    Height="Auto" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter
        Property="Grid.ColumnDefinitions">
        <Setter.Value>
            <ControlTemplate>
                <ColumnDefinition
                    Width="*" />
                <ColumnDefinition
                    Width="Auto" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

ControlTemplate не правильно. Я получаю сообщение об ошибке: «Свойство VisualTree не поддерживает значения типа RowDefinition». Есть ли способ обозначить коллекцию определений строк / столбцов? Или есть какой-то другой способ создать стиль / шаблон для сетки 2x2?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 сентября 2009

Теперь я уверен, что ответ таков: «не может быть сделано». Пожалуйста, поправьте меня, если я ошибаюсь.

0 голосов
/ 29 августа 2009

Свойство RowDefinitions не относится к типу ControlTemplate, поэтому не имеет смысла назначать ему ControlTemplate.Вместо этого вы должны назначить RowDefinitionCollection:

<Style
    x:Key="TwoByTwoGridStyle"
    TargetType="Grid">
    <Setter
        Property="Grid.RowDefinitions"
        <Setter.Value>
            <RowDefinitionCollection>
                <RowDefinition
                    Height="*" />
                <RowDefinition
                    Height="Auto" />
            </RowDefinitionCollection>
        </Setter.Value>
    </Setter>
    <Setter
        Property="Grid.ColumnDefinitions"
        <Setter.Value>
            <ColumnDefinitionCollection>
                <ColumnDefinition
                    Width="*" />
                <ColumnDefinition
                    Width="Auto" />
            </ColumnDefinitionCollection>
        </Setter.Value>
    </Setter>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...