2009-08-19 3 views
1

나는 XAML 내 자신 ContentControl을, e.x :만들기 기본 컨트롤 템플릿은

<ContentControl x:Class="server.ui.DiamondButton"> 
    <ContentControl.Template> 
     <ControlTemplate TargetType="src:DiamondButton"> 
      <...> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 

이 기본 템플릿을 설정하고 일반적으로 좋은 작품을 만들었습니다. 그러나 Expression에서는 템플릿을 편집 할 수 없습니다. 'DiamondButton'이라는 메시지가 나타납니다. ControlTemplate TargetType이 템플릿 형식 'ContentControl'과 일치하지 않습니다. 블렌드에서 편집 할 수있는 다른 방법이 있습니까?

+0

는 VS 2012 – Lu55

+0

정확히 동일한 메시지를 가지고 있습니다. .. VS Designer에서 컨트롤을 편집 할 수 없게 만듭니다. 그러나 이것은 어떤 식 으로든 컴파일러 나 런타임에 영향을 미치지 않습니다. – Lu55

답변

2

당신은 TargetType의 SRC를 변경, 당신은 ControlTemplate에 TemplateBindings에 DiamondButton에서 특정 속성을 사용하지 않으면 : ContentControl을에 DiamondButton 트릭을 할해야한다) ..

<ContentControl x:Class="server.ui.DiamondButton"> 
    <ContentControl.Template> 
     <ControlTemplate TargetType="ContentControl"> 
      <...> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 
+0

고마워, 그래, 나는 DiamondButton의 특수한 속성에 묶는다. (클래스의 목적은 정말로이 속성들을 감싸는 것이다. 그렇지 않으면 나는 스타일이있는 Button을 사용할 것이다). –

+0

흠 .. 너무 나쁘군;) .. TargetType {x : Type src : DiamondButton}에 대해 Type 태그를 이미 시도 했습니까? – Arcturus

+0

예; 그건 똑같은거야. 괜찮아; 어쨌든 XAML에서 대부분의 편집 작업을 수행합니다 .-P. –