我有一个属性网格,将引用一些属性.我想让属性网格中的一个项目成为一个按钮,或者甚至有一个椭圆形按钮,它就像一个普通胜利形式的按钮.
有没有办法做到这一点?
提前感谢您的帮助!
假设我正在编写一个包含JavaScript和C#代码的WinRT应用程序,我希望我的JavaScript代码可以在我的C#对象上挂钩事件.
我知道这应该是可能的,但JavaScript代码会是什么样子?如何在JavaScript投影中公开事件(但是在WinRT中表示CLR事件的概念)?
如果一个具体的例子会有所帮助,那么假设我的C#对象有这个事件:
public event EventHandler Initialized;
Run Code Online (Sandbox Code Playgroud)
如何从JavaScript挂钩该事件?
(我确定答案隐藏在//构建/视频之一中,但它们并不是完全可搜索的.)
在测试一些HTTP服务器代码时,我注意到一些奇怪的事情:如果我返回Content-Type: text/plain,浏览器将不会将内容呈现为纯文本.相反,他们似乎认为服务器必须配置错误,并且他们试图检测内容类型.
例如,如果我返回PNG文件的内容,但是Content-Type: text/plain:
.png,则将其显示为图像.如果不是(例如,如果我从结束的URL返回相同的内容.xyz),则会提示我保存文件.当然,text/plain在生产中返回PNG是没有意义的; 但如果我正在测试我的服务器是否正确返回Content-Type,那么浏览器的第二次猜测行为就会受到影响.此外,它只是有点傻,这让我很好奇是否有办法解决它.
有没有办法 - 使用不同的Content-Type,或额外的HTTP标头,或其他什么 - 我可以告诉浏览器,"将其显示为文本,不是真的,我实际上知道我在做什么"?
可能重复:
生成所有可能的组合
是否有一个很好的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) 似乎无法找到如何添加库的明确答案.theres项目属性与一大堆的地方添加文件路径,但我想知道我是否应该编辑所有这些,有人可以告诉我每个可能的条目的目的,如果有更多,可能我应该编辑哪些?还是一个方便的导师?列出了我所知道的条目.目前正在尝试添加Wwise库.
project-> 项目名称属性 - >配置属性 - > vc ++目录 - >库目录(单击编辑并添加相关文件路径)
project-> project name properties - > configuration properties-> linker-> general-> additional library dependencies(click edit and addthe related filepath)
project-> project name properties - > configuration properties-> linker-> input-> additional dependencies(手动输入库的名称)
如果我经历了所有这些,我会得到比我开始时更多的链接器错误
我正在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,我可能会放弃-但您明白了。)
可能还有其他方法可以解决此问题,但对于今天,我特别想知道:有没有一种方法可以运行命令,但是只有在满足特定条件的情况下才通过管道传输它的输出(否则,不通过管道将其输出或重定向到所有,所以它可以做一些花哨的东西,例如颜色编码的输出)?
我们有一些古老的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} 仅影响系统单元中的以下例程.
我想创建一个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放入一个Window并运行它时,我希望看到一个TextBlock说"ViewContainer".但相反,我只看到一个空白的窗口.显然我错过了一些东西.
我如何修复上面的代码,以便"子"控件确实在运行时出现,但是没有暴露给别人搞乱(可以避免)?
我正试图将我的大脑包裹在MEF周围,而我正在努力解决的一件事就是CompositionBatch.
CompositionBatch似乎是一种添加或删除MEF系统导出的方法,但显然它无法删除通过目录添加的内容,因此它的实用性有限.由于某种原因,它也在容器级别运行,而不是在目录级别运行,其他所有内容都在MEF中注册类型.
据我所知,CompositionBatch只是一种多余的方式来做你已经可以用目录做的事情.如果我想在应用程序启动后注册两个新类型,我不需要CompositionBatch; 我也可以将AggregateCatalog传递给我的容器,然后在我准备好之后,从我想要注册的两个新类型创建一个TypeCatalog,将它添加到AggregateCatalog,一切都会正常工作.而且还有CompositionBatch,它通过向容器添加方法来解决此目录问题.
我错过了什么?为什么CompositionBatch存在?事实上,它是否做了你不能做的事情?为什么我们需要一种方法在容器级别做同样的事情?
我正在使用 an<ol>来显示带有行号的代码片段。由于我显示的是程序代码,因此我通过设置white-space: preon来禁用换行(并启用缩进) li,这意味着 的li内容可以超出右边距并导致页面具有水平滚动条。到目前为止,一切都很好。
li当我想在某些s 上设置背景颜色以调出特定的代码行时,问题就出现了。我可以background-color在 上设置li,但颜色只延伸到页面的右边缘;事实上,文本的最后 10 个像素左右(等于正文的右边距)没有背景颜色。如果我水平滚动,情况会更糟:背景颜色从页面左侧滚动。背景颜色只有一个浏览器宽度(减去页边距)。
这是说明问题的小提琴。如果向右滚动,我希望只要有文本,背景就为蓝色。
background-color即使页面水平滚动,如何才能填充内容的整个宽度?
.net ×1
c# ×1
combinations ×1
css ×1
delphi ×1
dynamic-ui ×1
events ×1
file-io ×1
html ×1
http ×1
interop ×1
javascript ×1
linq ×1
mef ×1
mime-types ×1
powershell ×1
pre ×1
propertygrid ×1
visual-c++ ×1
windows-8 ×1
winforms ×1
wpf ×1