0
撇開其他相關問題,但我沒有看到回答這個明確問題的東西。如何從XAML中訪問/修改作爲ControlTemplate一部分創建的元素?
(在我的情況,我工作的一個微軟的Surface應用程序,這也正是一些我使用來自班)
所以,我想附含的ElementMenu幾個固定的物品在我ScatterView每個ScatterViewItem,這是我能做到像這樣:
<ControlTemplate x:Key="MenuedSVITemplate" TargetType="{x:Type s:ScatterViewItem}">
<Grid>
<ContentPresenter Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
<s:ElementMenu Name="Menu" HorizontalAlignment="Right" VerticalAlignment="Top" ActivationMode="AlwaysActive">
<s:ElementMenuItem Name="MenuItemClose" Header="Close" Click="CloseItemClicked"/>
</s:ElementMenu>
</ContentPresenter>
</Grid>
</ControlTemplate>
我就可以在使用後創建ScatterViewItems這個模板:
<ScatterViewItem Name="SomeItem" Template="{StaticResource MenuedSVITemplate"/>
但是,如果我想將其他項目添加到模板中定義的菜單?在XAML中有沒有辦法做到這一點? (我知道我可以在代碼隱藏中使用Template.FindName來獲得ElementMenu,向下轉換,並以編程方式添加我的菜單項。)
在此先感謝!
好的,這很有趣 - 但是如果我也希望能夠指定模板項目的內容呢?例如如果你的按鈕是一個Grid,並且我希望能夠指定Grid和附加菜單的內容?你能以某種方式有第二個ContentPresenter顯示不同的內容? – Sbodd 2012-03-19 21:03:55