按钮样式的内容仅出现在一个Button实例中

我有一个Viewbox:

     

然后我将其包含在样式中:

            

现在我使用SampleStyle创建了许多按钮

        

但是, 只有一个按钮具有椭圆(视图框)

如何让所有按钮都显示/显示椭圆?

Viewbox是FrameworkElement,不能属于多个父项。 每次按钮请求资源{StaticResource SampleViewbox}它们都会获得相同的实例。

要更改该行为,请添加x:Shared="False"属性

  

我认为一个好的方法是使用DataTemplate。 所以你会有

        

对于风格

  

按照@ASh的建议将ViewBox的x:Shared属性设置为false确实会有效,但为什么不直接在ControlTemplate包含ViewBox

  

模板是模板,控件实例是实例。