小编And*_*ers的帖子

将对象文字表示法转换为数组

我使用文字作为字典,但第三方绑定工具只接受数组.

这是一种方式,有更好的方法吗?

var arr = [];
$.each(objectLiteral, function () { arr.push(this); });
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery object-literal

9
推荐指数
2
解决办法
3605
查看次数

访问属性'toString'的权限被拒绝

我正在尝试找到获取构造函数名称的通用方法.我的目标是为KnockoutJS创建一个Convention over配置框架

我的想法是迭代窗口中的所有对象,当我找到我正在寻找的构造函数时,我可以使用索引来获取构造函数的名称

代码更加柔和

(function() {
    constructors = {};
    window.findConstructorName = function(instance) {
        var constructor = instance.constructor;
        var name = constructors[constructor];
        if(name !== undefined) {
            return name;
        }

        var traversed = [];
        var nestedFind = function(root) {       
            if(typeof root == "function" || traversed[root]) {
                return       
            }

            traversed[root] = true;
            for(var index in root) {               
                if(root[index] == constructor) {
                    return index;
                }


                var found = nestedFind(root[index]);  
                if(found !== undefined) {
                    return found;
                }
            }
        }

        name = nestedFind(window);
        constructors[constructor] = name; …
Run Code Online (Sandbox Code Playgroud)

javascript

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

nHibernate的问题不同和分页

我有这个使用QueryOver API的Repository方法

    public IList<Message> ListMessagesBy(string text, IList<Tag> tags, int pageIndex, out int count, out int pageSize)
    {
        pageSize = 10;
        var likeString = string.Format("%{0}%", text);
        var query = session.QueryOver<Message>()
            .Where(Restrictions.On<Message>(m => m.Text).IsLike(likeString) ||
            Restrictions.On<Message>(m => m.Fullname).IsLike(likeString));

        if (tags.Count > 0)
        {
            var tagIds = tags.Select(t => t.Id).ToList();
            query
                .JoinQueryOver<Tag>(m => m.Tags)
                .WhereRestrictionOn(t => t.Id).IsInG(tagIds)
                .TransformUsing(Transformers.DistinctRootEntity);
        }                        

        count = 0;
        if(pageIndex < 0)
        {
            count = query.ToRowCountQuery().FutureValue<int>().Value;
            pageIndex = 0;
        }
        return query.OrderBy(m => m.Created).Desc.Skip(pageIndex * pageSize).Take(pageSize).List();
    }
Run Code Online (Sandbox Code Playgroud)

我试过了两个

.TransformUsing(Transformers.DistinctRootEntity);
Run Code Online (Sandbox Code Playgroud)

和 …

c# hibernate distinct queryover

7
推荐指数
1
解决办法
2158
查看次数

AvalonDock 2配Caliburn Micro

是否有关于将AvalonDock与Caliburn Micro MVVM一起使用的博客或文章?谷歌搜索时找不到多少

http://avalondock.codeplex.com/

编辑:得到了投票,所以为什么不用最终解决方案更新.完整代码可以在这里找到

https://github.com/AndersMalmgren/FreePIE

大多数与avalon相关的代码都可以在这里找到

https://github.com/AndersMalmgren/FreePIE/blob/master/FreePIE.GUI/Shells/MainShellView.xaml

Sam回答后更新

为了使Caliburn成功,需要做的非常非常少.首先实现一个LayoutItemTemplateSelector

public class AutobinderTemplateSelector : DataTemplateSelector
{
    public DataTemplate Template { get; set; }

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        return Template;
    }
}
Run Code Online (Sandbox Code Playgroud)

并将其与内容控件和Caliburns View.Model附加机制一起使用

<xcad:DockingManager.LayoutItemTemplateSelector>
    <avalonDock1:AutobinderTemplateSelector>
        <avalonDock1:AutobinderTemplateSelector.Template>
            <DataTemplate>
                <ContentControl cal:View.Model="{Binding . }" IsTabStop="False" />
            </DataTemplate>
        </avalonDock1:AutobinderTemplateSelector.Template>
    </avalonDock1:AutobinderTemplateSelector>
</xcad:DockingManager.LayoutItemTemplateSelector>
Run Code Online (Sandbox Code Playgroud)

mvvm avalondock caliburn.micro

7
推荐指数
2
解决办法
2454
查看次数

获取原型对象的名称

这个问题刚刚起来,所以可以用我所做的更新问题

我通过遍历窗口对象(或用户指定的对象root)来解决它,当我找到正确的实例时,我回溯并从索引中获取名称.最终的解决方案可以在这里找到

https://github.com/AndersMalmgren/Knockout.BindingConventions

更新结束

我打算为KnockoutJS/MVC编写一个关于配置模板源引擎的约定.我从一个小客户端POC开始,立刻跑进了一个节目塞子

我的计划是使用这种语法或类似的东西

MyApp.EditCustomersViewModel = function() {
   ko.templates.loadView(this);
};
Run Code Online (Sandbox Code Playgroud)

执行此操作时,它将检查tamplate缓存或使用对象名称作为密钥从服务器获取模板.问题是我无法得到原型对象的名称,我试过这个

Object.prototype.getName = function() {
   var funcNameRegex = /function (.{1,})\(/;
   var results = (funcNameRegex).exec((this).constructor.toString());
   return (results && results.length > 1) ? results[1] : "";
};
Run Code Online (Sandbox Code Playgroud)

如果适用于这样定义的对象

function MyClass() { 
}
Run Code Online (Sandbox Code Playgroud)

如果您将原型添加到上面的对象,它将无法工作,或者如果您这样定义它

MyApp = {};
MyApp.MyClass = function() {
};
Run Code Online (Sandbox Code Playgroud)

原型和范围是两个必须,所以这是一个showstopper,任何想法?

小提琴:http://jsfiddle.net/aRWLA/

编辑:这个的背景是这样的.

在服务器上,你有这样的结构

  • 模板\ [ViewName]\index.html
  • 模板\ [ViewName]\sub-model-template.html

在客户端你会做

MyApp.EditCustomersViewModel = function() {
   ko.templates.loadView(this);
};
Run Code Online (Sandbox Code Playgroud)

这将生成一个以对象名称为键的ajax请求,该请求将获取相关视图的所有模板

javascript prototype knockout.js

6
推荐指数
1
解决办法
4904
查看次数

加载Microsoft Speech SDK v11时出错

我已经安装了x86 SDK并将Microsoft.Speech.dll添加到我的项目中.该项目设置为x86.

在尝试创建SpeechSynthesizer我得到的实例时

由于以下错误,检索具有CLSID {D941651C-44E6-4C17-BADF-C36826FC3424}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)).

还有什么可以导致那些错误的目标平台?

c# microsoft-speech-api

6
推荐指数
1
解决办法
2547
查看次数

我可以暂停/恢复 docker 容器吗?

我正在使用适用于 Windows 的 Docker Desktop(Linux 容器模式)运行批处理作业,涉及高级波声学模拟和游戏开发的预计算。在我的 AMD 3950x(16 核 32 线程)上,该工作大约需要 11 天。问题是,我也使用计算机进行其他工作(小型独立工作室在下班后使用计算机处理个人事务)。

所以我想暂停工作,以便我可以使用计算机执行其他操作,然后稍后再恢复。这可能吗?我使用的是最新的 Windows 版 Docker 桌面。

docker docker-desktop

6
推荐指数
1
解决办法
5638
查看次数

创建高级HUD

我正在为WPF中的AR Drone Quadcopter创建一个界面.

我在我的HUD上添加了一些东西以使其可用.

HUD上更先进的控制之一是人工地平线,它告诉飞行员飞行器当前与地平线的对齐.

我有这3个PNG

的背景

大纲1

大纲3

我将移动的第一个图像(工艺的当前间距)和旋转(当前的工艺卷).

我将把第二张图像放在第一张图片上,这张图片只围绕中心轴旋转,它有一定程度的刻度,可以更直观地显示工艺品的滚动.

最后一个我将放在第二个,这个图像只是一个视觉改进者.

然后我想掩盖第一张图像,这样你才能看到图像2中圆圈内的什么.

最后但并非最不重要的是,我想为其添加一个文本块并显示当前的高度

结果看起来像这样

结果

我知道如何旋转和移动图像,但如何将图像放在彼此之上,如何屏蔽第一张图像?

编辑:感谢本我已经走到了这一步:

旋转没有翻译

但我还需要翻译图像Y位置(飞机的俯仰)

随着翻译

当我添加translate转换时,我还翻译了Clip(Mask)如何在不移动蒙版的情况下翻译图像?

wpf hud

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

旋转也调整大小?

我有这个xaml

    <Image Width="240" Height="240">                
        <Image.Source>                    
            <DrawingImage>
                <DrawingImage.Drawing>
                    <DrawingGroup>
                        <DrawingGroup>
                            <DrawingGroup>
                                <DrawingGroup.Transform>
                                    <TransformGroup>
                                        <RotateTransform Angle="-15" CenterX="120" CenterY="120" />
                                        <TranslateTransform Y="-20" />
                                    </TransformGroup>
                                </DrawingGroup.Transform>

                                <ImageDrawing ImageSource="Images\pNxVK.png" Rect="0,0,240,240" />
                            </DrawingGroup>

                            <DrawingGroup.ClipGeometry>
                                <EllipseGeometry Center="120,120" RadiusX="60" RadiusY="60" />
                            </DrawingGroup.ClipGeometry>
                        </DrawingGroup>

                        <DrawingGroup>
                            <DrawingGroup>
                                <!--<DrawingGroup.Transform>
                                    <RotateTransform Angle="-15" CenterX="120" CenterY="120" />
                                </DrawingGroup.Transform>-->
                                <ImageDrawing ImageSource="Images\zUr8D.png" Rect="0,0,240,240" />
                            </DrawingGroup>                                        
                            <ImageDrawing ImageSource="Images\XPZW9.png" Rect="0,0,240,240" />
                        </DrawingGroup>                                
                    </DrawingGroup>
                </DrawingImage.Drawing>
            </DrawingImage>
        </Image.Source>
    </Image>
Run Code Online (Sandbox Code Playgroud)

xaml的结果是(正确的大小)

在此输入图像描述

如果我取消注释上面的xaml中的旋转变换我得到这个(错误的大小) 在此输入图像描述

wpf xaml rotatetransform

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

Ninject MVC与WCF扩展一起使用InRequestScope不起作用

我已经让Ninject MVC与Ninject WCF一起工作以使其工作我在CreateKernel方法中添加了两行

kernel.Bind<ServiceHost>().To<NinjectServiceHost>();
KernelContainer.Kernel = kernel;
Run Code Online (Sandbox Code Playgroud)

注入了依赖项,但没有调用Dispose方法,我已经尝试使用InRequestScope并执行我自己的作用域Func返回OperationContext.Current作为Scope对象,但不调用dispose.

更新2012-09-05 此信息已过时,对于从Nuget Ninject.MV3和Ninject.Extensions.WCF(3.x)下载MVC和WCF,MVC Nuget模板将添加Ninject引导程序NinjectWebCommon.cs并添加支持svc for ninject eddit svc xml(右键单击/查看标记)并将Factory ="Ninject.Extensions.Wcf.NinjectServiceHostFactory"添加到xml节点

asp.net-mvc wcf ninject

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