背景:我正在使用 WPF 和 C# (3.5) 并且正在开发一个应用程序,该应用程序允许用户查看已经是已编译程序集一部分的窗体/窗口/用户控件。当他们查看它时,他们应该能够单击任何控件(按钮、文本框、甚至标签),控件旁边应该出现一个小的弹出编辑器,然后他们可以在其中为该控件键入工具提示、帮助 ID 等。
总而言之:我需要在 WPF 中模仿一个基本的设计视图。这意味着我至少需要执行以下操作:
首先,如果有人对更容易或更好的路线有建议,请告诉我。(显然,WPF 没有 DesignHost 类型的组件(就像我读过的 .NET 2 一样),所以就这样了。)
我被困在粗体项目上 - 清除所有订阅的 EventHandlers。在挖掘了一些并进入 Reflector 之后,我想出了这段很酷的危险代码(在这里,我只是想获取 XAML 中定义的名为 someButton 的单个按钮的所有事件处理程序):
<Button Name="someButton" Click="someButton_Click"/>
Run Code Online (Sandbox Code Playgroud)
这是代码(如果需要,您可以从 someButton_Click eventHandler 运行它):
public void SomeFunction()
{
// Get the control's Type
Type someButtonType = ((UIElement)someButton).GetType();
// Dig out the undocumented (yes, I know, it's risky) EventHandlerStore
// from the control's Type
PropertyInfo EventHandlersStoreType =
someButtonType.GetProperty("EventHandlersStore",
BindingFlags.Instance | BindingFlags.NonPublic); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将来自url的gif图像加载到java.util.image.Raster中,以便我可以操作它.加载和解压缩我可以找到的图像的唯一方法是Toolkit.getImage,它返回一个java.awt.Image.我需要将其转换为Raster,以便我可以使用它.建议?
我在使用sax解析器时遇到了(我认为是)一种奇怪的行为,我想知道它是否正常.
我通过SAX解析器发送这个XML:
<site url="http://example.com/?a=b&b=c"; />
Run Code Online (Sandbox Code Playgroud)
startElement调用回调时,"&"将转换为"&" .它应该这样做吗?如果是这样,我想了解原因.
我贴了一个例子来证明这个问题:
#include <stdlib.h>
#include <libxml/parser.h>
static void start_element(void * ctx, const xmlChar *name, const xmlChar **atts)
{
int i = 0;
while(atts[i] != NULL) {
printf("%s\n", atts[i]);
i++;
}
}
int main(int argc, char *argv[]) {
xmlSAXHandlerPtr handler = calloc(1, sizeof(xmlSAXHandler));
handler->startElement = start_element;
char * xml = "<site url=\"http://example.com/?a=b&b=c\" />";
xmlSAXUserParseMemory( handler,
NULL,
xml,
strlen(xml)
);
}
Run Code Online (Sandbox Code Playgroud)
PS:这条消息实际上是从LibXML2列表中提取的......我不是这封邮件的最初作者,但我注意到使用Nokogiri和Aaron(Nokogiri的维护者)的问题实际上是自己发布了这条消息.
我曾经使用过$(document).html(),但那引发了一个错误......是否有办法获得一切?
有谁知道C#中无锁哈希表的实现?或者任何人都可以确认至少读取HashTable是线程安全的事实?
编辑:
我可以阅读文档,但目前还不清楚.
"当只有一个线程执行写(更新)操作时,多线程使用是线程安全的."
所以,问题是,如果我有多个线程,并且它们都可以写入哈希表,我会使用writerlock.但是,这些相同的线程也从哈希表中读取.读取时我需要一个读卡器吗?
因此,我使用带有国家/地区列表的HTML选择框和一个按钮,打开一个小窗口,其中包含HTML选择框中所选项目的更多详细信息.
这是我如何做到这一点(我在这里预先为任何noobishness道歉,我仍然是Javascript的新手):
//in header
<script type="text/javascript">
function popUp()
{
countryName = document.getElementById("countrylist").value;
document.write(countryName);
dest = "countries/" + countryName + ".html";
window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}
</script>
<form id="countryform">
<select id="countrylist">
<!--List of countries removed for brevity-->
</select>
<input type="button" name="countryBtn" value="Submit Query" onClick="popUp();">
</form>
Run Code Online (Sandbox Code Playgroud)
这在Firefox中运行良好,但在IE6中不行.任何帮助,将不胜感激!
更新:所以我尝试了下面的前两种方法,替代弹出功能在任一浏览器中都不起作用,并且替换document.getElementById行没有改变任何东西,在Firefox中仍然可以正常工作,不在IE中.
我经常遇到.NET框架中的项目,这些项目很少或没有关于如何使用这些功能的代码示例.在其他场合,有很多例子,但似乎没有一个像规定那样工作.
例证:System.Diagnostics.ConsoleTraceListener类.
从我读过的所有内容和我见过的每个代码示例,当我做的事情如下:
ConsoleTraceListner listener = new ConsoleTraceListener();
listener.WriteLine("Yo");
Run Code Online (Sandbox Code Playgroud)
...我应该看到一个控制台窗口弹出"Yo".然而,不是那个预期的输出,而是将"Yo"写入Visual Studio输出,在那里可以看到正常的跟踪/调试消息.
我已经尝试了每次尝试我用Google搜索的示例包括相应侦听器的配置文件设置,将侦听器添加到Trace.Listeners集合,自定义ConsoleTraceListener类型等等.我甚至只编译到发行版并运行可执行文件(绝对没有任何作用).
我错过了什么?
在使用:first-child:last-child时,在css中它在IE7,FF中运行良好.
有没有可能解决这个问题.
使用Javascript很好.如果它没有javascript工作,那将是伟大的.
我试图阻止的行为是在用户点击按钮后,按钮保持焦点,然后如果用户点击空格键,则按钮再次触发.所以我认为可以通过将焦点设置在别处,或者通过让按钮忽略空格键来解决.我已经尝试在按钮上添加以下keyDown事件侦听器,但它不起作用.
private function btn_keyDown(event:KeyboardEvent):void {
// try to ignore spaces, i.e. don't click on SPACE when it has focus
if (event.keyCode == Keyboard.SPACE) {
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过执行以下操作来更改焦点,在单击按钮时调用的函数结束时:
stage.focus = parent;
Run Code Online (Sandbox Code Playgroud)
但那也不起作用.
天哪!我讨厌这个.为什么这么复杂?
我正在做的事情:
我有一个带有几个UserControl的表单,每个UserControl都有一个DataGrid.每个网格都通过.ItemSource属性与ObservableCollection绑定,每当程序捕获一个事件时,它就会对其中一个隐含的集合进行更改.但是网格图片不会更新.
c# ×2
html ×2
wpf ×2
.net ×1
apache-flex ×1
awt ×1
data-binding ×1
dom ×1
escaping ×1
image ×1
java ×1
javascript ×1
jquery ×1
libxml2 ×1
raster ×1
reflection ×1
routedevent ×1