我有以下ControlTemplate,其中包含一个Grid:
<ContentPage.Resources>
<ResourceDictionary>
<ControlTemplate x:Key="SlideViewControlTemplate">
<Grid x:Key="GridSlideViewIndicators" Padding="0,0,0,0">
<ContentPresenter />
</Grid>
</ControlTemplate>
</ResourceDictionary>
</ContentPage.Resources>
如何在代码中引用Grid(GridSlideViewIndicators)?我尝试了以下方法:
var gridSlideViewIdicators = Resources.Single(r => r.Key.Contains("GridSlideViewIndicators"));
但这只返回一个键/值对,而不是实际的Grid对象。
我也试过在XAML中为网格命名,但代码隐藏不可见。
答案 0 :(得分:0)
您无法直接在ControlTemplate中访问您需要先创建内容的网格,这应该可以。
ControlTemplate x = (ControlTemplate) Resources["SlideViewControlTemplate"];
var gridSlideViewIdicators = x.CreateContent();