0

所以现在我可以访问隐藏在嵌套数据模板中的控件,似乎我无法更改它们的值。例如我有代码(堆栈溢出成员慷慨地授予我)

<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 中放置一个图像控件,并在那里用我的位图代码加载它,它就可以正常工作。这让我相信模板在应用后无法重绘自己......但是在应用它之前我无法访问它的内部元素......所以我到底如何在其中动态设置元素应用之前的模板?

4

1 回答 1

0

模板复制其内容。您正在访问Image模板的元素,而不是内容演示者中实例化的元素。

于 2010-11-16T19:51:04.427 回答