jQuery具有.on()和.trigger()等函数,可以将事件附加到DOM对象,然后手动触发这些事件.这些函数的文档特别指的是"元素"上的事件,我将其称为HTML/DOM元素.
我还可以使用这些函数向普通的旧JavaScript对象添加事件功能吗?
var x = {};
$(x).on('bonk', function() { alert('Oif!'); });
$(x).trigger('bonk'); // shows the alert
Run Code Online (Sandbox Code Playgroud)
这适用于我在其中测试过的所有浏览器(Chrome 15,FireFox 7,IE 9和Opera 11.52,都在Windows上),这看起来很有希望.但是从文档中不清楚它是否真的意味着在所有平台上的所有浏览器中都是受支持的场景.文档选择的术语("元素")引起了很多疑问.
文档确实说明我可以编写自己的事件名称(例如,.on()的doc页面有一个"附加和触发自定义(非浏览器)事件"的示例).但是,仍然会将事件附加到DOM元素,而不是普通的旧对象.
有没有明确说明jQuery是否支持.on()以及.trigger()普通的旧JavaScript对象的东西?
我想在WPF中无缝平铺一堆不同颜色的矩形.也就是说,我希望将一堆矩形边对边放置,并且它们之间没有间隙.
如果所有内容都与像素对齐,这可以正常工作.但我也想支持任意缩放,理想情况下,我不想使用SnapsToDevicePixels(因为当图像缩小时会影响质量).但这意味着我的矩形有时会带有间隙.例如:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="Black">
<Canvas SnapsToDevicePixels="False">
<Canvas.RenderTransform>
<ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
</Canvas.RenderTransform>
<Rectangle Canvas.Left="25" Width="100" Height="100" Fill="#CFC"/>
<Rectangle Canvas.Left="125" Width="100" Height="100" Fill="#CCF"/>
</Canvas>
</Page>
Run Code Online (Sandbox Code Playgroud)
如果ScaleTransform的ScaleX为1,则矩形无缝地组合在一起.当它为0.5时,它们之间会出现深灰色条纹.我理解为什么 - 组合的半透明边缘像素不能组合成100%不透明.但我想要一种解决方法.
我总是可以让矩形重叠,但我不会总是事先知道它们将成为什么模式(这是一个最终将支持地图编辑器的游戏).此外,这会导致当周围的事情缩放的方式重叠区域的文物中(除非我做下叠部分,这是一个可怕的很多工作,而且还导致在角落的问题斜面切割的角度).
有没有什么方法可以将这些矩形组合成一个组合的"形状",在没有内部间隙的情况下渲染?我已经玩过GeometryDrawing,它正是这样做的,但后来我没有看到用不同颜色的画笔绘制每个RectangleGeometry的方法.
有没有其他方法可以在任意变换下无缝拼接形状,而不需要使用SnapsToDevicePixels?
我喜欢由ViewModel公开的RelayCommand的MVVM概念.这非常优雅,对于无需进一步用户输入即可完成的操作.简单.可测试.
但是,并非所有操作都是无UI的.有些需要确认("您确定要删除吗?").其他人需要更多信息.打开文件可能需要从"文件打开"对话框到完整的导入向导.
在MVVM应用程序中,编写需要用户输入的命令的最佳方法是什么?是否存在以某种方式通过依赖注入解决此问题的既定模式?我应该在代码隐藏中编写KeyDown处理程序,并让它显式执行事件吗?我应该回到RoutedUICommand,并将所有"显示下一个GUI"代码放在我的视图中吗?或者有什么明显的东西让我完全失踪?
我有一些数据,我想在一个FlowDocument.这基本上是一个以友好的方式解释数据的视图,包括节标题,文本段落等,我将在FlowDocumentScrollViewer中显示.
为此,我想<List>从一个内容中创建一个项目符号列表()ObservableCollection.我知道如何使用ItemsControl,但我如何为a中的ListItem元素执行此操作FlowDocument,因为它们是TextElement类层次结构而不是Control层次结构的一部分?是否有相当于ItemsControl文本内容TextBlock或FlowDocument?
编辑:谢尔盖链接的文章是一个完美的起点.唯一的问题是文章的代码只能使用a Section或a TableRowGroup作为items面板,并且还不支持使用a <List>.但这很容易解决 - 只需ItemsContent.GenerateContent在最后一个结尾处添加此代码else:
else if (panel is List)
((List) panel).ListItems.Add((ListItem) element);
Run Code Online (Sandbox Code Playgroud) 他们建议您更常用其显示名称加载程序集(例如,"System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089").
这对我没有任何意义.如果要通过其版本和公钥引用程序集,则应在编译时添加引用; 您不会在运行时使用Assembly类加载它.在运行时加载程序集的典型方案是,当您加载一个插件时,这将由路径完成 - 因为您要么扫描目录以获取插件,要么读取某种清单,说明哪里他们找到了.
为什么文档会说,在动态加载程序集的场景中,按路径加载它是"罕见的"?据我所知,它是通过显示名称加载它是罕见的.
我将NuGet安装到Visual Web Developer 2010 Express中,但是当我转到解决方案资源管理器时,右键单击项目的"References"文件夹,然后选择"添加库包参考",我立即收到此错误:
无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.
只有一个OK按钮,我无法检索它告诉我的其他信息.
这是NuGet的全新安装; 我以前从未在这台电脑上安装它.
我如何修复和/或诊断此错误,以便让NuGet工作?
如何隐藏WPF ListView标题中列之间的垂直线?
为了说明:默认情况下,它看起来像顶部的图片; 我希望它看起来像底部图片.
http://www.excastle.com/misc/wpf-listview-no-header-borders.png
如何以编程方式检测当前用户是否在当前数据库中具有CREATE TABLE权限?
我正在编写一个可以进行一些冗长处理的工具,然后创建数据库表来保存结果.我只想在处理完成时创建表.但是,如果用户无法创建表格,那么花时间处理是没有意义的.我想检测权限问题并快速失败.
这将来自C#应用程序,我不能假设将安装任何特殊库,这可能排除了SQL-DMO和SMO.如果有一种简单的方法可以使用T-SQL查询/脚本检查权限,那将是理想的选择.
我们有一个Silverlight解决方案,在我们的旧计算机上运行良好.它是为编码的UI测试设置的,因此项目引用了Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.
然后我们得到了新的机器,显然有一些模糊的配置,我们没有在新机器上正确设置,因为现在引用显示一个警告图标,错误列表窗口显示以下警告:
无法找到引用的组件"Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper".
我发现这篇文章提供了预期找到此DLL的路径,但该目录不存在.在我的32位开发虚拟机上,我有一个C:\ Program Files\Common Files\microsoft shared\VSTT\10.0目录,但它没有UITestExtensionPackages子目录.
我错过了什么?我该如何安装这个DLL?
如果我在WPF中创建一个CheckBox控件(没有内容 - 我只需要检查/取消选中部分),它会将"框"视觉化(三维矩形中有或没有复选标记) )在控件的左上角.
我可以将"盒子"视觉放在CheckBox控件的中心吗?也就是说,水平和垂直居中?像这样的东西:

通过将CheckBox的HorizontalAlignment和VerticalAlignment设置为Center,我可以获得与此类似的内容.这会导致CheckBox控件缩小到其"box"视觉的大小,然后在其父级中居中.然而,它只响应"盒子"视觉上的点击,这提供了一个更小,更不方便的目标.
wpf ×5
.net ×2
assemblies ×1
checkbox ×1
data-binding ×1
events ×1
flowdocument ×1
itemscontrol ×1
jquery ×1
listview ×1
msdn ×1
mvvm ×1
nuget ×1
permissions ×1
silverlight ×1
sql-server ×1
tesselation ×1
tiles ×1