我有一個自定義控件,我創建了具有在generic.xaml中定義的ContentPresenter。我可以成功地嵌入其他控件到自定義控制,但它似乎繼承自定義控件的佈局管理器:如何在Silverlight 3/4的自定義控件中指定要在ContentPresenter中使用的佈局管理器?
<Style TargetType="custom:Widget">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="custom:Widget">
<Canvas x:Name="LayoutRoot">
<!-- Custom Line, Ellipse code using Canvas from above... -->
<Grid>
<!-- This more local layout manager is overridden...why ? -->
<ContentPresenter x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding
ContentTemplate}"/>
</Grid>
etc.....
在這種情況下,我使用的是畫布自定義控件,而我想指定類似Grid作爲添加到內容的控件的佈局管理器。我該怎麼做呢 ?
感謝,
斯科特
你能解釋一下你的意思是「似乎繼承自定義控件的佈局管理器」?另外如果你可以發佈一些xaml,這將是有益的。 – KeithMahoney 2010-01-20 22:23:55
沒有理由您的LayoutRoot不能成爲網格,除非在該自定義Xaml中有需要它的東西。即使如此,你也可以在該網格中使用Canvas。也許關於你想要做什麼的更多信息會有所幫助? – Raumornie 2010-01-21 00:40:37
到目前爲止,這個問題沒有任何意義,ContentPresenter可以有哪些子控件?答案:1,該子控件可能是一個Grid,Canvas或其他任何東西,因此可能有其他控件,但它是「頂級」子控件,它將佈局指定給其他控件。 – AnthonyWJones 2010-01-21 13:30:25