小编red*_*sky的帖子

<aui:script>块内的"A未定义"

我正在尝试扩展现有Liferay portlet的一些功能.作为其中的一部分,我想使用Alloy UI来修改portlet中字段的值.有一个预先存在的<aui:script>块我想定义我的自定义函数.我继续尝试使用A.one('element'),但我收到错误"A未定义". A.one()在同一个.jsp文件中的其他位置使用,但不在<aui:script>块中,并且它按预期运行.

我试过谷歌搜索这个问题无济于事.我尝试过的一个解决方案是在元素块中包含"use"语句,但是当从jsp调用时,这使得该块中的所有函数都未定义.

我所说的"使用"声明是这样的:

<aui:script use="aui-node,aui-base">
    // ... script
</aui:script>
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试做的大致概述:

<aui:script>
    function save(){
        // This is where I'm getting the 'A is not defined' error.
        var titleNode = A.one('input[name=title]');

        if (titleNode) {
            // do stuff with titleNode
            var titleVal = titleNode.val();
            var titleSubstr = titleVal.substring(0, titleSubstr.lastIndexOf('/'));
            titleNode.val(titleSubstr);
        }

        // other save-related code here
    }

    function otherFunction() {
        // some other functionality
    }
</aui:script>
Run Code Online (Sandbox Code Playgroud)

liferay liferay-6 alloy-ui

10
推荐指数
1
解决办法
7103
查看次数

是否有任何原因导致 GDI+ 在 64 位操作系统上速度较慢(或者可能与 Windows 7 有关)

背景

我正在开发一个应用程序,该应用程序应该以相同的方式在从 XP 开始的每个 Windows 平台上运行。通过 .NET 框架,这在大多数情况下都非常容易。该应用程序可在各种触摸表面上运行。该应用程序面向 .Net 3.0,但如果由于某种原因我应该迁移到 .Net 3.5,我可以这样做。我无法使用4.0。

该应用程序通过 System.Drawing 命名空间大量使用 GDI+。现在,我了解到 GDI+ 要么根本没有硬件加速,要么只在极少数显卡中加速,所以我预计会出现一些性能问题。然而,这个问题很明显,并且使应用程序的可用性显着降低。如果可以通过简单的修复来避免的话,我宁愿不将整个应用程序重写为目标 DirectX 或 OpenGL。

问题

我们最近在其中一张触摸桌上安装了 Windows 7 64 位。这是该应用程序首次在 Windows 7 64 位计算机上运行。无论如何,一次使用多个手指在设备上进行任何绘图(特别是 DrawLine)都会导致严重的延迟。这种延迟在 32 位 Windows XP 或 32 位 Windows 7 上并不明显,因此我认为它可能特定于 64 位 Windows 7(我没有 64 位 XP 机器来测试)。

该应用程序还被迫作为 32 位应用程序运行,因为其中一个 .dll 文件只有 32 位库可用于编译它。我在某处读到,在 64 位系统上强制进程进入 32 位模式可能会导致性能问题,但是当我升级我们正在使用的 SDK 并制作 64 位特定的 .dll 和应用程序时,问题仍然存在。

在 StackOverflow 的另一个帖子中读到,在 GDI+ 方面,32 位和 64 位应用程序之间应该没有区别。这里的情况似乎并非如此。

那么问题来了:你们知道为什么 Windows 32 …

c# system.drawing gdi+ .net-3.0 c#-3.0

5
推荐指数
1
解决办法
2626
查看次数

右键单击之前不会应用上下文菜单样式

我在 WPF (.NET 4.0) 中的一个控件的工具栏上的按钮上附加了一个上下文菜单。上下文菜单在定义上下文菜单的 XAML 中分配有一个样式。如果尚未打开按钮的上下文菜单,则左键单击该按钮将打开该菜单。

这是相关的 XAML:

<Button x:Name="fileButton" Foreground="White" Margin="7, 0, -3, 0" VerticalAlignment="Stretch" MaxHeight="70" MaxWidth="78" MinHeight="55" MinWidth="62" Style="{DynamicResource ImageButton}" utils:WpfImageUtil.Image="{StaticResource fileButton}" Template="{DynamicResource GlassButton}" Content="File" Visibility="Visible" Click="fileButton_Click">
    <Button.ContextMenu>
        <ContextMenu Style="{DynamicResource ContextMenuStyle}">
            <MenuItem x:Name="saveMenuItem" Header="Save" Click="saveMenuItem_Click" Style="{DynamicResource MenuItemStyle}" />
            <MenuItem x:Name="saveDrawingMenuItem" Header="Save Drawing" Click="saveMenuItem_Click" Style="{DynamicResource MenuItemStyle}" />
            <MenuItem x:Name="openMenuItem" Header="Open" Style="{DynamicResource MenuItemStyle}">
                <MenuItem x:Name="openFromFile" Header="From File" Style="{DynamicResource MenuItemStyle}" />
                <MenuItem x:Name="openFromDesktop" Header="From Desktop" Style="{DynamicResource MenuItemStyle}" />
            </MenuItem>
            <MenuItem x:Name="iconsMenuItem" Header="Icons" ItemsSource="{Binding}" Style="{DynamicResource MenuItemStyle}"/>
            <MenuItem x:Name="prefsMenuItem" Header="Preferences" Style="{DynamicResource MenuItemStyle}"/> …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf

3
推荐指数
1
解决办法
1232
查看次数

标签 统计

c# ×2

.net ×1

.net-3.0 ×1

alloy-ui ×1

c#-3.0 ×1

gdi+ ×1

liferay ×1

liferay-6 ×1

system.drawing ×1

wpf ×1