小编Sim*_*ley的帖子

如何将DataTemplate数据类型绑定到接口?

我正在编写一个复合松散耦合的MVVM WPF应用程序,父虚拟机中的子虚拟机是接口而不是类实例,例如

public IChildViewModel { get; set; }
Run Code Online (Sandbox Code Playgroud)

现在如何使用DataTemplate呈现此属性?喜欢:

<DataTemplate DataType="{x:Type contracts:IChildViewModel}">
Run Code Online (Sandbox Code Playgroud)

我理解由于接口的性质(多重继承等),WPF不允许这种直接绑定.但是由于接口应该在松散耦合的应用程序中广泛使用,是否有任何解决方法将DataTemplate绑定到接口?谢谢.

wpf types bind interface datatemplate

27
推荐指数
1
解决办法
9195
查看次数

"pod install"命令在Mac OS X上有什么作用?

我正在观看有关使用XCode和Heroku创建iOS应用的视频.在zsh中键入以下命令:

pod install
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以解释这是什么以及它用于什么?简单的概述就足够了.

macos xcode zsh heroku ios

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

在dask数据帧中创建if-else条件列

我需要创建一个基于dask数据帧的某些条件的列.在熊猫中它是相当简单的:

ddf['TEST_VAR'] = ['THIS' if x == 200607 else  
              'NOT THIS' if x == 200608 else 
              'THAT' if x == 200609 else 'NONE'  
              for x in ddf['shop_week'] ]
Run Code Online (Sandbox Code Playgroud)

在dask中,我必须做同样的事情,如下所示:

def f(x):
    if x == 200607:
         y= 'THIS'
    elif x == 200608 :
         y= 'THAT'
    else :
         y= 1 
    return y

ddf1 = ddf.assign(col1 = list(ddf.shop_week.apply(f).compute()))
ddf1.compute()
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 是否有更好/更直接的方法来实现它?
  2. 我无法修改第一个数据帧ddf,我需要创建ddf1来改变是dask dataframe的Immutable对象吗?

python pandas dask

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

直接访问JSON对象属性并记录它

我正在尝试直接访问JSON对象属性并记录它,这是我的函数:

loadProcesses(filter?){

this._postService.getAllProcess(filter)
.subscribe(
    res=> {
        this.processListe = res;
       // console.log(this.processListe.)
    }
,null,
() =>{
    console.log("get processes liste" + filter)

});
Run Code Online (Sandbox Code Playgroud)

所以this.processListe包含一个JSON对象,我的JSON格式是这样的:

{"Person": {
   "id": "A256",
   "name": "GET",
   "status": "active",
   "description": "hardworking, openminded",
   ...
Run Code Online (Sandbox Code Playgroud)

所以它将包含完全相同的东西,例如,如果我想简单地在控制台日志上打印标签我该怎么办?

json typescript angular

6
推荐指数
2
解决办法
2万
查看次数

在动态分配的2D数组上使用realloc()是个好主意吗?

我主要对缩小这样一个数组的可行性感兴趣.

我正在开发一个项目,我使用单个malloc()调用来创建各个中等大小的2D数组.(每个只有几十个MiB,最大的.)问题是,在其中一个阵列的生命周期中,其内容大小缩小(超过一半).显然,我可以在程序的生命周期中单独保留数组大小.(它只有一个具有GiB RAM的系统上的x MiB.)但是,我们正在谈论超过一半的分配空间在程序终止之前就被废弃了,并且,由于我使用的方式的性质数组中,所有幸存数据都保存在一组连续的行中(在块的开头).如果我真的不需要它,那么抓住所有RAM似乎是浪费.

虽然我知道realloc()可用于缩小动态创建的数组,但2D数组​​更复杂.我想我理解它的内存布局(因为我实现了构造它的函数),但这推动了我对语言及其编译器工作的理解的极限.显然,我将不得不处理行(并处理行指针),而不仅仅是字节,但我不知道所有这些的结果是多么可预测.

而且,是的,我需要使用单个malloc()创建数组.有问题的对象有几百万行.我尝试分别使用一个循环到malloc()每一行,但程序总是冻结在大约100,000 malloc()s.

对于后台,我用来构造这些数组的源代码如下:

char ** alloc_2d_arr(int cnum, int rnum) {
        /* ((bytes for row pointers + (bytes for data)) */
        char **mtx = malloc(rnum * sizeof (char *) + rnum * cnum * sizeof (char));

        /* Initialize each row pointer to the first cell of its row */
        char *p = (char *) (mtx + rnum);
        for (int i = 0; i < rnum; i++) {
                mtx[i] = p + i * …
Run Code Online (Sandbox Code Playgroud)

c arrays malloc memory-management multidimensional-array

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

在webworkers上制作自定义事件

我做了一个webworker并尝试添加一个名为progress的自定义事件,如下所示:

self.updateProgress = function(no){
    let event = new CustomEvent(
        'progress',
        {
            detail : {
                description: "event from webworker to update progress",
                timeofevent: new Date(),
                eventcode: 15
            },
            bubbles: true,
            cancelable: false,
            data : no
        });
        self.console.log(self.dispatchEvent(event));
    };
Run Code Online (Sandbox Code Playgroud)

在父JavaScript上:

scope.worker.addEventListener('progress', (e) => { //cannot add custom events to worker yet
    scope.progress = e.data;
});
Run Code Online (Sandbox Code Playgroud)

问题是事件永远不会被触发,从我读过的内容来看,似乎消息和错误是唯一附加到worker对象的事件.是否无法添加自定义事件?

javascript web-worker

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

在vim中打开语法高亮显示警告消息

我想使用.exrc文件并使用以下命令在vim中打开语法突出显示:

syntax on
syntax=html
Run Code Online (Sandbox Code Playgroud)

每次打开文件时,我都会收到以下消息:

没有为此缓冲区定义语法项

我在OS X 10.10.4上使用VIM版本7.3

macos vim

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

将 wav 加载到内存中,然后使用 Win32 API 异步播放声音

我正在使用 C++ 和 Win32 API 编写一个简单的游戏。我想在初始化阶段(游戏开始之前)将一些音效加载到内存中。然后我希望能够在游戏过程中异步触发这些声音。

我研究了一些推荐 mmlib(PlaySound)的帖子,这有效,但示例似乎每次都从文件加载,如下所示:

PlaySound("rocket_launch.wav", NULL, SND_FILENAME | SND_ASYNC);
Run Code Online (Sandbox Code Playgroud)

我想在开始时将声音加载到内存中,然后随时播放它们。希望我不需要使用资源文件。

我怎样才能做到这一点?

c++ audio winapi

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

在 Visual Studio 中更改项目中所有图像的“构建操作”属性?

我想知道是否有办法更新 Visual Studio 项目中所有图像的属性?

我有多个嵌套的图像文件夹,我想将它们的“构建操作”属性从“资源”更改为“内容”。

目前我只能突出显示并选择/更改一个文件夹中的所有图像。当我有数百个文件夹和数千个图像时,这非常耗时。

我使用的是 Visual Studio 2013 专业版。

c# visual-studio visual-studio-2013

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

在Visual Studio中使用SkiaSharp

我正在研究将SkiaSharp用于未来的项目,遵循GitHub上现有的文档:

https://developer.xamarin.com/guides/cross-platform/drawing/introduction/

我正在使用Windows 7上的Visual Studio 2013进行开发.我尝试使用Xamarin Android App项目类型,但它需要SkiaSharp软件包中的DllImportAttribute的营业执照.

我想知道是否有可能选择一个C#Visual Studio项目,如何能够显示SkiaSharp画布,如果是这样,我该怎么做?

c# visual-studio skia xamarin skiasharp

2
推荐指数
1
解决办法
5903
查看次数

有没有办法在Visual Studio 2013中移动书签行号?

我正在使用Visual Studio Professional 2013中的"书签"功能.

如果我在书签上方添加/删除代码行,则当前书签会自动更改"行号",以便书签与预期的代码行保持一致.

但是,我最近注意到一些书签已从预期的行移动(行号仍然相同,但上面添加/删除了代码行).这可能是由于更新源代码管理资源管理器中的文件并引入其他人员更改.

有没有办法移动书签(仅更改行号)而不删除它并重新添加?

visual-studio visual-studio-2013

2
推荐指数
1
解决办法
516
查看次数

字典直接访问与TryGetValue

我有一本字典,将字符串映射到这样的对象: Dictionary<string, object> myDic;

我事先知道对象的类型是基于字符串的,但是我的问题是我应该使用TryGetValue,还是使用try,catch语句直接查找。

例:

//TryGetValueMethod
object myObject = null;
myDic.TryGetValue("test", out myObject);

MyCustomType t1 = (MyCustomType) myObject;

//Direct lookup method
try
{
     MyCustomType t2 = (MyCustomType) myDic["test"];
     //Do something here...
} catch {}
Run Code Online (Sandbox Code Playgroud)

您认为首选哪种方法?第二个是更干净的编码,因为没有多余的强制转换,但是我认为它的效率比第一个低,因为它没有异常。

c# dictionary

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

将int属性绑定到bool UIElement

我在XAML中具有以下绑定,其中XAML IsEnabled的类型为bool,并且Length是类型为int的Array的属性。

<Button
        Content="Press Me"
        IsEnabled="{Binding MyArray.Length, FallbackValue=False}">
</Button>
Run Code Online (Sandbox Code Playgroud)

它实现了我想要的功能,当数组长度为0时,它禁用,当数组包含启用元素时,它禁用。

但是,我没想到它会起作用,因为您不能在C#中将int隐式转换为bool。

这样安全吗?

c# wpf xaml

0
推荐指数
1
解决办法
1303
查看次数