2009-08-29 4 views
2

...WPF에서 2x2 격자 스타일을 만들 수 있습니까? 나는 이런 식으로 뭔가를 할 노력하고있어

<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 Grid에 대한 스타일/템플릿을 만드는 다른 방법이 있습니까?

감사합니다.

답변

0

나는 이제 대답이 "할 수 없다"고 확신합니다. 내가 틀렸다면 나를 바로 잡아주세요.

0

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> 
+0

답변 주셔서 감사합니다. 그러나 작동하지 않습니다. 이 오류가 발생합니다 : "RowDefinitionCollection '형식이 public이 아니거나 공용 매개 변수가없는 생성자 또는 형식 변환기를 정의하지 않기 때문에'RowDefinitionCollection '형식을 개체 요소로 사용할 수 없습니다." – devuxer

+0

OK ... 아마도 그럴 수 없습니다. –

관련 문제