所以现在我可以访问嵌套在datatesmplates中的控件,似乎我无法更改它们的值。例如,我有代码(由Stack溢出成员慷慨授予我)
<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中并使用我的位图代码加载它,它可以正常工作。这让我相信模板在应用后无法重绘...但是在应用之前我无法访问其内部元素...所以如何动态设置元素应用之前的模板?
答案 0 :(得分:0)
模板重复其内容。您正在访问模板的Image
元素,而不是内容演示者中实例化的元素。