我針對Windows Phone 8,我想訪問名爲ListHeaderStackPanel的我的StackPanel
,它位於LongListSelector
DataTemplate
中。我的代碼看起來如下以編程方式訪問LongListSelector DataTemplate控件
<DataTemplate x:Key="ListHeader">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,0">
<StackPanel x:Name="ListHeaderStackPanel" HorizontalAlignment="Left" Height="8" VerticalAlignment="Top" Width="8">
</StackPanel>
</Grid>
</DataTemplate>
這可能嗎?我已經嘗試過使用FindName
而沒有運氣,只是從代碼中使用ListHeaderStackPanel將無法工作。
您可以嘗試使用'VisualTreeHelper'類走可視化樹。這裏有一個通用的實現,可以幫助http://stackoverflow.com/a/5191681/187697 – keyboardP 2013-04-23 19:59:15
我試過了,通過傳遞給我的LongListSelector和LongListSelector.ListHeaderTemplate,不幸的是,它們爲StackPanel項目返回null。 – 2013-04-23 20:25:09
我只是試了一下,它對我很有幫助:'HelperClass.FindDescendant(lls.ListHeaderTemplate.LoadContent());'不要忘記,儘可能嘗試利用DataBinding是個好主意(如果這是你嘗試訪問控件的原因)。 –
keyboardP
2013-04-23 20:42:37