ResourceDictionary和Events中的DataTemplate

时间:2011-03-31 15:55:05

标签: silverlight events data-binding

在我的Silverlight 4应用程序中,我有一个列表框,我为其创建了一个很好的DataTemplate。这个DataTemplate包含一些我想要处理事件的按钮。所以我在模板上分配了这个事件:

<DataTemplate>
  <Grid>
    <Button x:Name="myB" Click="myB_Click" />
  </Grid>
</DataTemplate>

在包含使用此模板的列表框的UserControl中,我有处理myB_Click的事件处理程序。

只要我在列表框中直接指定了模板,一切正常:

<ListBox ...>
  <ListBox.ItemTemplate>
    <DataTemplate>
      ...
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

但是当我将DataTemplate外包给ResourceDirectory时,在将项目添加到列表框时会出现运行时解析器错误

  

Kategorie:ParserError
  信息:   分配给属性时出错   'System.Windows.Controls.Button.Click'。

任何想法,可能会导致什么?

提前致谢,
弗兰克

1 个答案:

答案 0 :(得分:2)

如果你把它放在一个资源字典中,那么它找不到事件处理程序,因为你的资源字典后面没有代码。

您是否(a)不将该部分放在ResourceDictionary中并将其保存在您的xaml中 或(b)在资源词典中添加代码