XAML自定义属性显示有关问题

XAML自定义属性显示问题
自定义控件的Style,希望通过用户自定义属性UserDefineProperty值的不同改变控件外观。
具体就是,如果UserDefineProperty取1,则画一个圆,如果取2则画一条线。UserDefinePropertyToTemplateConv
转换器负责吧1转换成字符串"Status1",把2转换成字符串"Status2"。
下列xaml文件为何总是报错?  
  <ControlTemplate x:Key="Status1">
  <Grid Height="20" Width="20" IsHitTestVisible="False">
  <Ellipse .../>
  </Grid>
  </ControlTemplate>
  <ControlTemplate x:Key="Status2">
  <Line ... />
  </ControlTemplate>
   
  <Style TargetType="{x:Type s:Class1}">
  <Setter Property="Template" Value="{Binding Source={StaticResource ResourceKey={Binding RelativeSource={RelativeSource Mode=Self}, Path=UserDefineProperty, Converter=conv:UserDefinePropertyToTemplateConv}}}" >
  </Setter>
  </Style>


------解决方案--------------------
探讨
引用:

这种问题不用这么做吧,在模板中先画好圆和直线, 用Trigger或视图状态来控制圆和直线的显示;你可以看看Silverlight Toolkit的源码,通常这种问题都是这么处理的

我发现Trigger之支持从Control继承来的属性,我自定义的属性不支持……