在Silverlight 3.0中,我可以在包含对事件处理程序的引用的外部文件中创建数据模板吗?

时间:2009-09-09 20:23:47

标签: silverlight xaml resources datatemplate

是否可以在数据模板中包含事件处理程序引用,该数据模板与定义事件处理程序的代码隐藏无关?我试图把它拉下来时,我得到了一个PARSER-BAD-PROPERTY-VALUE。

例如,假设我有这个非常简单的XAML。

page.xaml

<DataTemplate x:Key="ItemsTemplate">
     <HyperlinkButton Click="HyperlinkButton_Click" />
</DataTemplate>

<ItemsControl ItemTemplate="{StaticResource ItemsTemplate}" />

这很好用,因为事件处理程序 HyperlinkBut​​ton_Click 位于page.xaml的代码隐藏中。

但......当我将数据模板移动到另一个文件时......

resources.xaml

<DataTemplate x:Key="ItemsTemplate">
     <HyperlinkButton Click="HyperlinkButton_Click" />
</DataTemplate>

page.xaml

<ItemsControl ItemTemplate="{StaticResource ItemsTemplate}" />

... Silverlight似乎忘记了我正在做的事情,我得到了PARSER-BAD-PROPERTY-VALUE错误。

1 个答案:

答案 0 :(得分:0)

我知道你无法动态添加具有事件处理程序的控件,例如(XamlReader.Load(&lt;“Button Click =”handler“... /&gt;))。所以也许这就是为什么这就是Click in外部文件不起作用。