在Windows Phone 7.1项目中:
我的资源字典看起来像这样:
<DataTemplate x:Name="ItemsTemplate">
...
<StackPanel VerticalAlignment="Top"
ManipulationStarted="ManipulationStarted"
ManipulationCompleted="ManipulationCompleted">
<TextBlock Text="{Binding ItemDescription}" FontSize="32" Foreground="#FF3B3B3B" Margin="5,0,0,0" FontWeight="Bold" />
<TextBlock Text="{Binding List.ListName}" FontSize="20" Foreground="DarkMagenta" Margin="5,0,0,0" FontWeight="Bold"/>
</StackPanel>
</StackPanel>
</DataTemplate>
ManipulationStarted()和ManipulationCompleted()函数位于MainPage.xaml.cs中,DataTemplate通过MainPage.xaml引用,代码如下:
<toolkit:LongListSelector x:Name="ListSelector"
ItemTemplate="{StaticResource ItemsTemplate}"
ItemsSource="{Binding Items}">
</toolkit:LongListSelector>
当我尝试在列表中添加项目时,我得到一个例外。
如果我将DataTemplate放在MainPage.xaml中,一切正常。
我理解问题是函数引用但我想先知道为什么不可能通过资源字典找到函数,如果有正确的方法来做到这一点或通过任何技巧克服这个问题
答案 0 :(得分:1)
问题是事件布线。在应用程序级别没有相应的事件处理程序,但在页面级别我猜测。
答案 1 :(得分:0)
你不应该在x:Key
上使用x:Name
代替DataTemplate
吗?