Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flex中的CSS寻址:仅RichTextEditor中的按钮?_Css_Apache Flex_Addressing - Fatal编程技术网

Flex中的CSS寻址:仅RichTextEditor中的按钮?

Flex中的CSS寻址:仅RichTextEditor中的按钮?,css,apache-flex,addressing,Css,Apache Flex,Addressing,我想更改RichTextEditor工具栏中按钮的字体特征,但我希望它们与应用程序中的其他按钮不同有没有办法只使用CSS就可以做到这一点?我知道如果需要,我可以使用setStyle…有一种方法可以做到这一点,因为RichTextEditor的子组件是用MXML声明的,因此可以公开访问,那就是在运行时分别分配它们的样式名属性(在容器的creationComplete事件触发后,确保编辑器及其所有子项都已创建),如下所示: <mx:Style> .myRTECombo

我想更改RichTextEditor工具栏中按钮的字体特征,但我希望它们与应用程序中的其他按钮不同有没有办法只使用CSS就可以做到这一点?我知道如果需要,我可以使用setStyle…

有一种方法可以做到这一点,因为RichTextEditor的子组件是用MXML声明的,因此可以公开访问,那就是在运行时分别分配它们的
样式名
属性(在容器的
creationComplete
事件触发后,确保编辑器及其所有子项都已创建),如下所示:

<mx:Style>

    .myRTECombo
    {
        color: #FF0000;
    }

</mx:Style>

<mx:Script>
    <![CDATA[

        private function creationCompleteHandler(event:Event):void
        {
            rte.fontFamilyCombo.styleName = "myRTECombo";
            rte.fontSizeCombo.styleName = "myRTECombo";
        }

    ]]>
</mx:Script>

<mx:RichTextEditor id="rte" />

桃金娘
{
颜色:#FF0000;
}
Flex文档不调用子组件(“boldButton”、“fontSizeCombo”等)通过ID,但组件的源代码可供查看,因此您应该能够从源代码本身获取所需的所有信息。由于我使用FlexBuilder,我通常使用Eclipse Ctrl+单击快捷键,在标记/类名上跳转到关联的类定义文件,但您也可以直接在[installDir]打开源文件/sdks/[version]/frameworks/src/mx/RichTextEditor.mxml让您自己看看

我确信还有其他方法(
setStyle
就是其中之一,尽管出于性能原因,通常不鼓励显式使用它),但这应该适合您。不过,当您深入了解组件的源代码时,您会发现,默认按钮集中的许多按钮实际上使用PNG(例如,
icon\u style\u bold.png
),而不是文本,这就是为什么我的示例中包含了对组合框的引用,以便您可以看到颜色更改是如何应用的;如果您想更改按钮的外观,请注意它们使用的是可设置样式的
icon
属性,而不是字体样式设置,以获得它们的外观和感觉


希望有帮助!

一种方法是,因为RichTextEditor的子组件是用MXML声明的,因此可以公开访问,所以在运行时(在容器的
creationComplete
事件触发后,确保编辑器及其所有子项都已创建)分别分配它们的
styleName
属性,例如:

<mx:Style>

    .myRTECombo
    {
        color: #FF0000;
    }

</mx:Style>

<mx:Script>
    <![CDATA[

        private function creationCompleteHandler(event:Event):void
        {
            rte.fontFamilyCombo.styleName = "myRTECombo";
            rte.fontSizeCombo.styleName = "myRTECombo";
        }

    ]]>
</mx:Script>

<mx:RichTextEditor id="rte" />

桃金娘
{
颜色:#FF0000;
}
Flex文档不调用子组件(“boldButton”、“fontSizeCombo”等)通过ID,但组件的源代码可供查看,因此您应该能够从源代码本身获取所需的所有信息。由于我使用FlexBuilder,我通常使用Eclipse Ctrl+单击快捷键,在标记/类名上跳转到关联的类定义文件,但您也可以直接在[installDir]打开源文件/sdks/[version]/frameworks/src/mx/RichTextEditor.mxml让您自己看看

我确信还有其他方法(
setStyle
就是其中之一,尽管出于性能原因,通常不鼓励显式使用它),但这应该适合您。不过,当您深入了解组件的源代码时,您会发现,默认按钮集中的许多按钮实际上使用PNG(例如,
icon\u style\u bold.png
),而不是文本,这就是为什么我的示例中包含了对组合框的引用,以便您可以看到颜色更改是如何应用的;如果您想更改按钮的外观,请注意它们使用的是可设置样式的
icon
属性,而不是字体样式设置,以获得它们的外观和感觉


希望有帮助!

谢谢@Christian Nunciato!这是我的最后一段代码,在我的组件RichTextEditor(扩展它)中。在creationComplete中,我称之为

private function setUpStyleNames():void {
    setUpStyleNamesInner(toolbar.getChildren());
    setUpStyleNamesInner(toolBar2.getChildren());
}

private function setUpStyleNamesInner(children:Array):void {
    for each (var child:DisplayObject in children) {
        if (child is UIComponent) {
            UIComponent(child).styleName = "rteInnards";
        }
    }
}
然后在我的样式表中,我有这个

.rteInnards {
    color: #FF0000;
    fontSize: 25px;
}

太棒了。再次感谢!

谢谢@Christian Nunciato!这是我的最后一段代码,在我的组件中是一个RichTextEditor(扩展它)。在creationComplete中,我称之为

private function setUpStyleNames():void {
    setUpStyleNamesInner(toolbar.getChildren());
    setUpStyleNamesInner(toolBar2.getChildren());
}

private function setUpStyleNamesInner(children:Array):void {
    for each (var child:DisplayObject in children) {
        if (child is UIComponent) {
            UIComponent(child).styleName = "rteInnards";
        }
    }
}
然后在我的样式表中,我有这个

.rteInnards {
    color: #FF0000;
    fontSize: 25px;
}

太棒了。再次感谢!

太棒了……我实际上在RTE中添加了组件,并在工具栏中添加了按钮。我只是不知道你可以给东西命名样式名称……我会尝试一下,但这是一个很好的方法。谢谢。你明白了——让我知道它是怎么回事!干杯。检查我的答案(下面或上面?)问题:工作起来很有魅力。那太棒了……我实际上在RTE中添加了组件,并在工具栏中添加了按钮。我只是不知道你可以给东西命名样式名称……我会尝试一下,但这是一个很好的技巧。谢谢。你明白了——让我知道它是怎么回事!干杯。检查我的答案(下面或上面?)对问题的回答是:工作起来很有魅力。