所以现在我可以访问隐藏在嵌套数据模板中的控件,似乎我无法更改它们的值。例如我有代码(堆栈溢出成员慷慨地授予我)
<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>
虽然我可以在第二个模板(frontFace)中获取图像,但我无法更改源。我可以得到一个新的位图,并且没有错误地加载它,但图像没有改变。如果我在数据模板之外的 XAML 中放置一个图像控件,并在那里用我的位图代码加载它,它就可以正常工作。这让我相信模板在应用后无法重绘自己......但是在应用它之前我无法访问它的内部元素......所以我到底如何在其中动态设置元素应用之前的模板?