0
所以現在我可以訪問隱藏在嵌套數據模板中的控件,似乎我無法更改它們的值。比如我的代碼(由堆棧溢出成員慷慨地給予我)WPF更改數據模板中的控件?
<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中,並使用我的位圖代碼加載它,則它可以正常工作。這導致我相信模板在應用後不能重繪自己......但是我無法訪問它的內部元素,直到它被應用爲止......那麼我怎樣才能動態地設置元素應用之前的模板?
那麼,如何設置模板的內容之前,它獲得重複/呈現?這是我的問題..雞和雞蛋的交易。但據我所知,在應用它之前,你無法訪問模板中的元素,因爲視覺樹還沒有被創建,對嗎? – Dan 2010-11-16 20:04:47
將「Image」元素的'Source'綁定到數據對象的屬性。該屬性必須是一個'ImageSource'或者可以由轉換器轉換爲'ImageSource'。 – 2010-11-16 20:44:01
而這種方式上的負載,我可以操縱數據對象,自從其綁定,將操縱模板中的元素 - 好吧,我會給這個鏡頭... – Dan 2010-11-17 14:29:21