완전히 자신을 테스트 할 시간이 없다면 다른 사람이 컨트롤의 속성과 스타일 (또는 그 반대)을 사용하여 컨트롤의 모양을 정의하는 데있어 성능 및/또는 메모리 이점이 있는지 알 수 있기를 바랍니다.WPF : 속성을 설정하는 것과 스타일을 사용하는 것의 성능 및/또는 메모리 이점이 있습니까?
옵션 # 1 :
<Border Background="White" BorderBrush="Black" BorderThickness="2" CornerRadius="20">
...
</Border>
옵션 # 2 :
<Style x:Key="BorderStyle" TargetType="Border">
<Setter Property="Background" Value="White"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="CornerRadius" Value="20"/>
</Style>
<Border Style="{StaticResource BorderStyle}">
...
</Border>
내가 그 이점을 이해 내가 재사용에 대한 요구 하진 않았어 있습니다. 나는 구체적으로 주어진 컨트롤에만 적용되고 재사용되지 않는 스타일에 대해서는 궁금하다.
다른 예는 여백이있는 두 번째 테두리가있는 경우입니다. Border가 위와 같은 스타일을 사용하고 Margin 속성을 직접 설정하는 데 더 많은 메모리와 메모리가 필요합니까? 아니면 새 setter에서 첫 번째 스타일 리소스를 기반으로 두 번째 Style 리소스를 만들어야합니까?
우선 순위 설정 값 목록 [(링크)] (http://msdn.microsoft.com/en-us/library/ms743230.aspx)을 보면 '로컬 값'이 첫 번째 값임을 알 수 있습니다 (3 위)는 '스타일 세터'(8 위)보다 높았다. 따라서 값을 로컬로 설정하면 이러한 값이 다른 소스의 값보다 조금 더 빠르게 설정됩니다. –
나는 더 나은 용어가 "빨리"가 아니라 "빨리"설정된다고 말할 것이라고 생각한다. – Shoe
우선 순위 목록은 * when * 속성 값이 실제로 설정되는 것에 대한 어떠한 진술도하지 않습니다. 우선 순위 순서 만 나열하면됩니다. – Clemens