C# WPF如何在嵌套模板中获取控件
所以我看到了很多例子,有人有一个漂亮的数据模板,里面有一个控件,他们的内容控件正在应用这个模板,他们的代码需要获取它 但我得到的是:C# WPF如何在嵌套模板中获取控件,c#,wpf,wpf-4.0,C#,Wpf,Wpf 4.0,所以我看到了很多例子,有人有一个漂亮的数据模板,里面有一个控件,他们的内容控件正在应用这个模板,他们的代码需要获取它 但我得到的是: <DataTemplate x:Key="frontTemplate" > <StackPanel x:Name="noWork"> <Image Source="Images/1.png" Stretch="Fill" Width="72" Height="96" x:Name="FrontFace" H
<DataTemplate x:Key="frontTemplate" >
<StackPanel x:Name="noWork">
<Image Source="Images/1.png" Stretch="Fill" Width="72" Height="96" x:Name="FrontFace" HorizontalAlignment="Left" VerticalAlignment="Top"></Image>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="flipItemTemplate">
<Grid Width="200" Height="200">
<Border x:Name="frontHost" Background="Transparent">
<ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource frontTemplate}" />
</Border>
</Grid>
</DataTemplate>
您可以看到,我在另一个数据模板(flipItemTemplate)中嵌套了一个数据模板(frontTemplate)。我需要做的是访问frontTemplate中的Stackpanel。我试图访问该datatemplate的内容演示者的所有尝试均失败。我希望圣贤们能帮助我。看在上帝的份上,我怎样才能进入那个小组
谢谢 如果您的XAML定义如下:
<Grid Name="mainGrid">
<Grid.Resources>
<DataTemplate x:Key="frontTemplate" >
<StackPanel x:Name="noWork">
<Image Source="Images/1.png" Stretch="Fill" Width="72" Height="96" x:Name="FrontFace" HorizontalAlignment="Left" VerticalAlignment="Top"></Image>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="flipItemTemplate">
<Grid Width="200" Height="200">
<Border x:Name="frontHost" Background="Transparent">
<ContentPresenter Name="contentPresenter" Content="{Binding}" ContentTemplate="{StaticResource frontTemplate}" />
</Border>
</Grid>
</DataTemplate>
</Grid.Resources>
</Grid>
作为一个附带问题-既然我可以访问图像,我似乎无法更改其中的图像源。这是dataTemplate的副作用吗?
var template = mainGrid.FindResource("frontTemplate") as DataTemplate;
var stackPanel = template.LoadContent() as StackPanel;