是否可以在数据模板中包含事件处理程序引用,该数据模板与定义事件处理程序的代码隐藏无关?我试图把它拉下来时,我得到了一个PARSER-BAD-PROPERTY-VALUE。
例如,假设我有这个非常简单的XAML。
page.xaml
<DataTemplate x:Key="ItemsTemplate">
<HyperlinkButton Click="HyperlinkButton_Click" />
</DataTemplate>
<ItemsControl ItemTemplate="{StaticResource ItemsTemplate}" />
这很好用,因为事件处理程序 HyperlinkButton_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错误。
答案 0 :(得分:0)
我知道你无法动态添加具有事件处理程序的控件,例如(XamlReader.Load(&lt;“Button Click =”handler“... /&gt;))。所以也许这就是为什么这就是Click in外部文件不起作用。