Flex 组件 - vbox 与 group 为什么一个可以编译,另一个则不能?

发布于 2024-11-13 09:24:53 字数 814 浏览 5 评论 0原文

试图理解为什么在flex(flash builder 4)中创建组件时,我无法从文件->新组件和引用“数据”创建组件,但示例略有不同。该组件将用作高级数据网格渲染器。

这个编译得很好:

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx" height="100%" width="100%" >
    <s:RichText text="{data.presentingProblemNotes}"/>
</mx:VBox>

这个不能编译,不喜欢 data.presentingProblemNotes

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:Group>

错误出现在“data”变量上 - 它不存在。

Trying to understand why when creating a component in flex (flash builder 4) I am unable to create a component from file->new component and reference "data.", but a slightly different sample works. This component is going to be used as an advanced data grid renderer.

This one compiles fine:

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx" height="100%" width="100%" >
    <s:RichText text="{data.presentingProblemNotes}"/>
</mx:VBox>

This one does not compile, does not like the data.presentingProblemNotes

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:Group>

The error is on the "data" variable - that it does not exist.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

做个ˇ局外人 2024-11-20 09:24:53

在 mx 组件中,所有 UIComponent 都有一个用于项目渲染器的“data”属性,但该属性已在 Spark 组件中删除,因为并非所有组件都需要它。他们现在需要扩展 DataRenderer让它工作。在您的特定情况下,您可以这样做:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:ItemRenderer>

In mx components, all UIComponent had a 'data' property which was used for item renderers, but that has been removed in Spark components because not all of them needed it. They now need to extend DataRenderer for it to work. In your particular case, you could do this instead:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:ItemRenderer>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文