在 Silverlight 3.0 中,我可以在外部文件中创建包含对事件处理程序的引用的数据模板吗?
是否可以在与定义事件处理程序的代码隐藏无关的数据模板中包含事件处理程序引用?当我试图解决这个问题时,我得到了解析器错误的属性值。
例如,假设我有一个非常简单的 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 错误。
Is it possible to include an event handler reference in a data template that is not associated with the code-behind where the event handler is defined? I'm getting a PARSER-BAD-PROPERTY-VALUE when trying to pull this off.
For example, let's say I have this very simple XAML.
page.xaml
<DataTemplate x:Key="ItemsTemplate">
<HyperlinkButton Click="HyperlinkButton_Click" />
</DataTemplate>
<ItemsControl ItemTemplate="{StaticResource ItemsTemplate}" />
This works fine since the event handler HyperlinkButton_Click is in the code-behind for page.xaml.
BUT ... when I move the data template to another file ...
resources.xaml
<DataTemplate x:Key="ItemsTemplate">
<HyperlinkButton Click="HyperlinkButton_Click" />
</DataTemplate>
page.xaml
<ItemsControl ItemTemplate="{StaticResource ItemsTemplate}" />
... Silverlight seems to lose track of what I'm doing and I get the PARSER-BAD-PROPERTY-VALUE error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我知道您无法动态添加具有事件处理程序的控件,例如 (XamlReader.Load(<"Button Click="handler".../>))。所以也许这就是外部文件中 Click 的原因不起作用。
I know you can not dynamically add controls that have event handlers, like in (XamlReader.Load(<"Button Click="handler".../>)). So maybe that's the reason why the Click in the external file does not work.