0

在 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 中,通过 MainPage.xaml 使用以下代码引用 DataTemplate:

<toolkit:LongListSelector x:Name="ListSelector" 
     ItemTemplate="{StaticResource ItemsTemplate}" 
     ItemsSource="{Binding Items}">
</toolkit:LongListSelector>

当我尝试在列表中添加项目时,我得到了一个例外。

如果我将 DataTemplate 放在 MainPage.xaml 中,一切正常。

我知道问题是函数引用,但我想首先知道为什么无法通过资源字典找到函数,以及是否有适当的方法来做到这一点或通过任何技巧来克服这个问题。

4

2 回答 2

1

问题是事件接线。应用程序级别没有相应的事件处理程序,但我猜在页面级别有。

于 2012-04-17T21:40:38.053 回答
0

你不应该使用x:Key而不是x:NameonDataTemplate吗?

于 2012-04-17T21:12:56.583 回答