【发布时间】:2011-12-21 11:22:33
【问题描述】:
我有一个 ListBox,我在这里绑定 IList Like (Cities)。
我想要一个像 OnItemDataBound 在 Windows Phone7 中的 .NET 中的事件。
就像每个城市都被绑定时一样(如果有 10 个城市,则此事件将触发 10 次)此事件将触发,因此我必须对此事件进行更多计算。在这种情况下,我必须找到绑定到 ListItem 的对象,以便我可以进行一些计算。 WP7 中是否有类似 .NET 中的 OnItemDataBound 的事件。
<ListBox Loaded="lstFlights_Loaded" Height="635" x:Name="lstFlights"
ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Row="1">
<ListBox.ItemTemplate>
<DataTemplate>
<Border CornerRadius="10" Margin="10">
<Border.Background>
<ImageBrush ImageSource="../Images/rowbg.png"></ImageBrush>
</Border.Background>
//Some data here
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我正在绑定如下数据:
lstFlights.ItemsSource = objCities;
在绑定每个城市时,我想要一个事件来根据绑定到 ListItem 的城市填充一些列表项(例如:我想更改文本块文本等)。为此,我需要一个类似于 WP7 中的 OnItemDataBound 的事件。我有如下列表选择器:
在 SelectionChanged 事件中,我也想更改列表项。
还有一件事 IList(objCities) 来自服务,所以我无法更改该对象 因此,如果我想更改列表框中的任何 TextBlock,我必须执行 FindName,并且必须为每个绑定的城市分配计算值。
【问题讨论】:
-
为什么不能在绑定到列表之前进行计算?
-
我从服务中得到的响应非常复杂,所以我想在绑定后进行计算。而且我有一个列表选择器,在选择更改时我也必须更改 ListBox 的计算,这就是我想要 OnItemDataBound 事件的原因。请问有没有这样的活动。
-
你能展示一下你现在拥有的东西吗?我不知道 OnItemDataBound 事件,但对于选择更改,您可以使用 selectionchanged 事件来处理必须对用户选择进行计算的情况。
-
感谢 ChristiaanV 的回复。我已经编辑了我的问题,请查看一次,然后告诉我如何在此处继续。
标签: windows-phone-7