小编Joe*_*ite的帖子

你如何在物业网格中有一个按钮?

我有一个属性网格,将引用一些属性.我想让属性网格中的一个项目成为一个按钮,或者甚至有一个椭圆形按钮,它就像一个普通胜利形式的按钮.

有没有办法做到这一点?

提前感谢您的帮助!

.net c# propertygrid user-interface winforms

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

JavaScript如何挂钩WinRT事件?

假设我正在编写一个包含JavaScript和C#代码的WinRT应用程序,我希望我的JavaScript代码可以在我的C#对象上挂钩事件.

我知道这应该是可能的,但JavaScript代码会是什么样子?如何在JavaScript投影中公开事件(但是在WinRT中表示CLR事件的概念)?

如果一个具体的例子会有所帮助,那么假设我的C#对象有这个事件:

public event EventHandler Initialized;
Run Code Online (Sandbox Code Playgroud)

如何从JavaScript挂钩该事件?

(我确定答案隐藏在//构建/视频之一中,但它们并不是完全可搜索的.)

javascript events interop windows-8 windows-runtime

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

是否有MIME类型告诉浏览器"不要尝试检测类型,只显示为文本"?

在测试一些HTTP服务器代码时,我注意到一些奇怪的事情:如果我返回Content-Type: text/plain,浏览器将不会将内容呈现为纯文本.相反,他们似乎认为服务器必须配置错误,并且他们试图检测内容类型.

例如,如果我返回PNG文件的内容,但是Content-Type: text/plain:

  • FireFox和IE9都会查看URL上的扩展名.如果它结束.png,则将其显示为图像.如果不是(例如,如果我从结束的URL返回相同的内容.xyz),则会提示我保存文件.
  • Chrome和Opera都会查看文件的内容,检测它是否为PNG,并将其显示为图像.

当然,text/plain在生产中返回PNG是没有意义的; 但如果我正在测试我的服务器是否正确返回Content-Type,那么浏览器的第二次猜测行为就会受到影响.此外,它只是有点傻,这让我很好奇是否有办法解决它.

有没有办法 - 使用不同的Content-Type,或额外的HTTP标头,或其他什么 - 我可以告诉浏览器,"将其显示为文本,不是真的,我实际上知道我在做什么"?

http mime-types

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

使用LINQ迭代组合

可能重复:
生成所有可能的组合
是否有一个很好的LINQ方式来做笛卡尔积?
如何在没有显式嵌套循环的情况下生成N个元素的组合,每个元素的供应量为2

我有一个列表列表,我想迭代所有可能的组合,我从每个内部列表中选择一个元素.如果我在编译时知道有多少列表,这是非常简单的,但是如果我事先知道会有多少列表,我怎么能这样做呢?

如果我有三个列表(如果我知道,在编译时,将会有三个列表),并且我想要从三个列表中的每个列表中选择一个元素的所有组合,我可以轻松地使用LINQ查询:

var list1 = new[] { 1, 2 };
var list2 = new[] { 3, 4 };
var list3 = new[] { 5, 6 };
var combinations = from item1 in list1
                   from item2 in list2
                   from item3 in list3
                   select new[] { item1, item2, item3 };
// Results:
// {1, 3, 5}
// {1, 3, 6}
// {1, 4, 5}
// {1, 4, 6}
// {2, 3, 5}
// {2, 3, 6} …
Run Code Online (Sandbox Code Playgroud)

linq combinations

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

在visual studio 2010 express中添加一个库

似乎无法找到如何添加库的明确答案.theres项目属性与一大堆的地方添加文件路径,但我想知道我是否应该编辑所有这些,有人可以告诉我每个可能的条目的目的,如果有更多,可能我应该编辑哪些?还是一个方便的导师?列出了我所知道的条目.目前正在尝试添加Wwise库.

  1. project-> 项目名称属性 - >配置属性 - > vc ++目录 - >库目录(单击编辑并添加相关文件路径)

  2. project-> project name properties - > configuration properties-> linker-> general-> additional library dependencies(click edit and addthe related filepath)

  3. project-> project name properties - > configuration properties-> linker-> input-> additional dependencies(手动输入库的名称)

如果我经历了所有这些,我会得到比我开始时更多的链接器错误

visual-studio-2010 visual-c++

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

有条件地管道输送至零空

我正在msbuild为一系列解决方案编写PowerShell脚本。我想计算成功构建了多少解决方案,失败构建了多少。我还希望看到编译器错误,但仅从第一个失败的错误开始(我假设其他错误通常也有类似的错误,并且我不想使我的输出混乱)。

我的问题是关于如何运行外部命令(msbuild在这种情况下),但有条件地通过管道传递其输出。如果我正在运行它并且还没有出现任何故障,那么我就不希望通过管道传递其输出。我希望它直接输出到控制台,而无需重定向,因此它将对输出进行颜色编码。(就像许多程序一样,如果msbuild看到其stdout被重定向了,则会关闭颜色编码。)但是,如果我之前遇到过故障,我想传递给Out-Null

显然我可以这样做:

if ($SolutionsWithErrors -eq 0) {
    msbuild $Path /nologo /v:q /consoleloggerparameters:ErrorsOnly
} else {
    msbuild $Path /nologo /v:q /consoleloggerparameters:ErrorsOnly | Out-Null
}
Run Code Online (Sandbox Code Playgroud)

但是似乎必须要有一种方法来避免重复。(好吧,这不一定是重复的- /consoleloggerparameters如果我无论如何都将管道设为null,我可能会放弃-但您明白了。)

可能还有其他方法可以解决此问题,但对于今天,我特别想知道:有没有一种方法可以运行命令,但是只有在满足特定条件的情况下才通过管道传输它的输出(否则,不通过管道将其输出或重定向到所有,所以它可以做一些花哨的东西,例如颜色编码的输出)?

powershell

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

所有API受{$ IOCHECKS OFF}影响的是什么?

我们有一些古老的Delphi代码(可能甚至起源于Turbo Pascal代码),它们使用{$I-},也就是说,它使代码使用IOResult而不是磁盘I/O错误的异常.{$IOCHECKS OFF}

我想摆脱这个{$I-}并将这个代码推进到20世纪90年代,但为了做到这一点,我想知道所有受到影响的是什么{$IOCHECKS OFF}.这只会影响Crufty旧的内置I/O函数,如AssignFile/Reset/Rewrite/Append/CloseFile吗?或者它是否会影响TFileStream等更现代的东西?更重要的是,还有什么可能会影响到我没想到的?(Delphi Basics建议它也会影响MkDir和RmDir.如果它影响那些,那么必须有更多.)

Delphi 2007帮助主题"输入输出检查(Delphi)"(ms-help://borland.bds5/devcommon/compdirsinput_outputchecking_xml.html)表示这会影响"I/O过程[s]",并且"在Delphi语言指南中描述了I/O过程".这没有多大帮助,因为CodeGear从未发布语言指南,而Borland最后一次发布的是Delphi 5.

哪些功能和类的行为不同{$I-}


编辑:接受的答案提供了一些很好的背景,但这里是按字母顺序排列的列表形式的快速摘要:{$IOCHECKS OFF} 影响系统单元中的以下例程.

  • 附加
  • BlockRead
  • BlockWrite命令
  • CHDIR
  • CloseFile
  • EOF
  • EOLN
  • 抹去
  • FilePos
  • 文件大小
  • 红晕
  • MKDIR
  • Readln
  • 改名
  • 重启
  • 改写
  • RmDir会
  • 寻求
  • SeekEof
  • SeekEoln
  • SetLineBreakStyle
  • 截短
  • Writeln

delphi error-handling file-io compiler-directives

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

在运行时动态创建(封装)子节点的WPF元素

我想创建一个WPF元素,在运行时,它完全控制其子元素 - 在属性更改时添加和删除子UI.有点像ItemsControl在修改其ItemsSource属性时所做的事情,尽管在我的情况下只有一个孩子.

这将是MVVM的视图容器 - 当你给它一个Model或ViewModel时,它会神奇地创建正确的View并连接所有东西.我的视图容器不需要是可模板化的(因为它创建了用户定义的视图,它们是UserControls并拥有自己的模板),我更希望它尽可能地封装.我可以通过降低Grid之类的内容,以及在我自己的属性发生变化时添加子控件来轻松地做到这一点.但Grid公开公开其子元素集合,并允许任何人添加和删除东西.

我应该从哪个WPF类中进行最大化封装,以及如何在运行时向其添加子元素?

基于我对文档的理解,我尝试使用FrameworkElement和AddVisualChild,只是为了看看我是否可以在运行时创建子控件.我不清楚AddLogicalChild是否是必要的,但我把它放在以防万一:

public class ViewContainer : FrameworkElement {
    private TextBlock _child;

    public ViewContainer() {
        _child = new TextBlock { Text = "ViewContainer" };
        AddLogicalChild(_child);
        AddVisualChild(_child);
        InvalidateMeasure();
    }

    public object Content { get; set; }

    protected override Size ArrangeOverride(Size finalSize) {
        _child.Arrange(new Rect(finalSize));
        return finalSize;
    }
    protected override Size MeasureOverride(Size availableSize) {
        _child.Measure(availableSize);
        return _child.DesiredSize;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将ViewContainer放入一个Wi​​ndow并运行它时,我希望看到一个TextBlock说"ViewContainer".但相反,我只看到一个空白的窗口.显然我错过了一些东西.

我如何修复上面的代码,以便"子"控件确实在运行时出现,但是没有暴露给别人搞乱(可以避免)?

wpf encapsulation dynamic-ui frameworkelement

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

CompositionBatch和目录之间有什么区别?

我正试图将我的大脑包裹在MEF周围,而我正在努力解决的一件事就是CompositionBatch.

CompositionBatch似乎是一种添加或删除MEF系统导出的方法,但显然它无法删除通过目录添加的内容,因此它的实用性有限.由于某种原因,它也在容器级别运行,而不是在目录级别运行,其他所有内容都在MEF中注册类型.

据我所知,CompositionBatch只是一种多余的方式来做你已经可以用目录做的事情.如果我想在应用程序启动后注册两个新类型,我不需要CompositionBatch; 我也可以将AggregateCatalog传递给我的容器,然后在我准备好之后,从我想要注册的两个新类型创建一个TypeCatalog,将它添加到AggregateCatalog,一切都会正常工作.而且还有CompositionBatch,它通过向容器添加方法来解决此目录问题.

我错过了什么?为什么CompositionBatch存在?事实上,它是否做了你不能做的事情?为什么我们需要一种方法在容器级别做同样的事情?

mef

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

如何让我的背景颜色填充我的所有内容,即使是水平滚动?

我正在使用 an<ol>来显示带有行号的代码片段。由于我显示的是程序代码,因此我通过设置white-space: preon来禁用换行(并启用缩进) li,这意味着 的li内容可以超出右边距并导致页面具有水平滚动条。到目前为止,一切都很好。

li当我想在某些s 上设置背景颜色以调出特定的代码行时,问题就出现了。我可以background-color在 上设置li,但颜色只延伸到页面的右边缘;事实上,文本的最后 10 个像素左右(等于正文的右边距)没有背景颜色。如果我水平滚动,情况会更糟:背景颜色从页面左侧滚动。背景颜色只有一个浏览器宽度(减去页边距)。

这是说明问题的小提琴。如果向右滚动,我希望只要有文本,背景就为蓝色。

background-color即使页面水平滚动,如何才能填充内容的整个宽度?

html css pre background-color horizontal-scrolling

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