我有一个带有Treeview控件的WPF应用程序.
当用户单击树上的节点时,页面上的其他TextBox,ComboBox等控件将填充适当的值.
然后,用户可以更改这些值,并通过单击"保存"按钮保存其更改.
但是,如果用户选择不同的Treeview节点而不保存其更改,我想显示警告并取消该选择的机会.
MessageBox:继续并放弃未保存的更改?确定/取消http://img522.imageshack.us/img522/2897/discardsj3.gif
XAML ...
<TreeView Name="TreeViewThings"
...
TreeViewItem.Unselected="TreeViewThings_Unselected"
TreeViewItem.Selected="TreeViewThings_Selected" >
Run Code Online (Sandbox Code Playgroud)
Visual Basic ......
Sub TreeViewThings_Unselected(ByVal sender As System.Object, _
ByVal e As System.Windows.RoutedEventArgs)
Dim OldThing As Thing = DirectCast(e.OriginalSource.DataContext, Thing)
If CancelDueToUnsavedChanges(OldThing) Then
'put canceling code here
End If
End Sub
Sub TreeViewThings_Selected(ByVal sender As System.Object, _
ByVal e As System.Windows.RoutedEventArgs)
Dim NewThing As Thing = DirectCast(e.OriginalSource.DataContext, Thing)
PopulateControlsFromThing(NewThing)
End Sub
如何取消这些取消选择/选择事件?
更新:我问过一个后续问题......
如何使用MessageBox确认正确处理PreviewMouseDown事件?
我正在尝试编写一个ant构建脚本来构建我的团队的flex应用程序,而且我遇到了一些障碍,我希望有人在SO上见过.
我们有两个项目构建到SWC中,这些组件包含资源包.一个SWC需要另一个SWC.我们将一个项目构建到我们的应用程序(SWF)中,该项目使用两个SWC.
当我构建SWC时,我没有抱怨没有找到资源包,当我在winzip中打开SWC时,我可以看到这些包(例如/ locale/EN_US)
然而,当我构建SWF时,我抱怨无法在两个swc中找到资源包,但没有抱怨无法找到任何其他资源包(如flex框架).这是我从蚂蚁那里得到的消息:
[mxmlc] Error: Unable to resolve resource bundle "whatever" for locale "en_US".
[mxmlc]
Run Code Online (Sandbox Code Playgroud)
当然,我不是第一个遇到这个陷阱的人,所以有谁知道这里的问题是什么?我是在构建SWC错误还是SWF?
作为参考,这是我使用compc构建任务之一(出于某种原因,我无法显示开始目标标记)
<path id="facet.sourcePath">
<pathelement location="${flex.facet.src}"/>
</path>
<property name="facet.sourcePath" refid="facet.sourcePath"/>
<echo message="sourcePath is ${facet.sourcePath}"/>
<fileset dir="${facet.sourcePath}" id="facet.sources">
<include name="**/*.as"/>
</fileset>
<pathconvert property="facet.classes" pathsep=" " refid="facet.sources">
<compositemapper>
<chainedmapper>
<globmapper from="*.as" to="*"/>
<globmapper from="${facet.sourcePath}\*" to="*" handledirsep="true" />
</chainedmapper>
<chainedmapper>
<globmapper from="*.mxml" to="*"/>
<globmapper from="${facet.sourcePath}\*" to="*" handledirsep="true" />
</chainedmapper>
</compositemapper>
</pathconvert>
<echo message="classes: ${facet.classes}"/>
<compc output="${flex.lib.output}/${facet.swc.name}" locale="EN_US"
include-classes="${facet.classes}" directory="false"
target-player="10.0.0"
>
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<include-resource-bundles bundle="foo"/>
<include-resource-bundles …Run Code Online (Sandbox Code Playgroud) 我在ASP.NET中创建一个用户控件(使用VB),它使用文本框上的自动完成ajax控件来获取值.然后我希望页面回发并根据从该控件传递给它的任何值运行一些代码.问题是,我不确定如何做到这一点.我确信这很容易,我应该知道,但我不知道.
提前致谢!
我有两个表涉及这个我需要创建的查询,我不确定如何连接这两个表以便更新.
我有一个ITEM和CONSUMER_ITEMS表.ITEM表具有针对每个项目和UPC代码的不同代码.我需要将一个字符串与ITEM.UPC_CODE连接到CONSUMER_ITEMS.NEW_ITEM_CODE,其中CONSUMER_ITEMS.ITEM_CODE =(ITEM.ITEM_CODES的特定列表)
我如何更新CONSUMER_ITEMS.NEW_ITEM_CODE字段?
它基本上等于'string'|| ITEM.UPC但是如何引用CONSUMER_ITEMS.ITEM_CODE等于要更新的ITEM_CODES列表中的特定ITEM_CODE.
我的LINQ2XML查询工作在我的目标的一半:
var XMLDoc = XDocument.Load("WeatherData.xml");
var maximums = from tempvalue in
XMLDoc.Descendants("temperature").Elements("value")
where tempvalue.Parent.Attribute("type").Value == "maximum"
select (string)tempvalue;
var minimums = from tempvalue in
XMLDoc.Descendants("temperature").Elements("value")
where tempvalue.Parent.Attribute("type").Value == "minimum"
select (string)tempvalue;
List<string> MaxTemps = maximums.ToList();
List<string> MinTemps = minimums.ToList();
Run Code Online (Sandbox Code Playgroud)
但是,我在从XML文档中获取时间信息时遇到了麻烦,因为我必须匹配布局密钥信息(请参阅XML注释),我想知道在LINQ中加入这个的最佳解决方案是什么我现有查询的时间数据:
(顺便说一下,这个XML数据来自Web服务)
<?xml version="1.0" encoding="utf-8"?>
<dwml>
<data>
<time-layout>
<!-- Maximums Key -->
<layout-key>k-p24h-n7-1</layout-key>
<start-valid-time>2009-02-09T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-09T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-10T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-10T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-11T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-11T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-12T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-12T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-13T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-13T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-14T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-14T19:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-15T07:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-15T19:00:00-05:00</end-valid-time>
</time-layout>
<time-layout>
<!-- Minimums Key -->
<layout-key>k-p24h-n7-2</layout-key>
<start-valid-time>2009-02-08T19:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-09T08:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-09T19:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-10T08:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-10T19:00:00-05:00</start-valid-time>
<end-valid-time>2009-02-11T08:00:00-05:00</end-valid-time>
<start-valid-time>2009-02-11T19:00:00-05:00</start-valid-time> …Run Code Online (Sandbox Code Playgroud) 当您使用无Cookie会话并且无法将login.aspx的名称更改为httphandler时,如何解决无限登录循环问题?
即当具有管理员权限的用户点击注销按钮并且将受限页面的返回URL传递给login.aspx时,则没有管理员权限的另一个用户尝试登录,他们将被重定向回登录页面.
我遇到过这个解决方案,但是我无法将login.aspx的名称更改为http处理程序,并且isauthenticated函数似乎无法在带有cookieless auth的aspx页面中工作,因为表单auth票证似乎从URL中被删除重定向回登录页面时.
编辑:
由于此应用程序已在生产中,因此无法更改登录/注销/超时进程的页面流或重命名登录页面.
我刚才开始说我对创建Perl模块没有任何经验,所以如果我离开这里,我很抱歉.
假设我正在创建一些模块:
foo::bar
foo::bar::a
foo::bar::b
Run Code Online (Sandbox Code Playgroud)
因为我不知道它们叫什么,所以我称之为a.pm和b.pm模块"子模块",因为它们与bar.pm模块有关,但仍然可能有些独立.
所以我的一个Perl脚本可以使用foo :: bar :: a,另一个脚本可以使用foo :: bar :: b,也许我有另一个脚本需要使用"a"和"b"中的函数.而不是这样说:
use foo::bar;
use foo::bar::a qw(one two);
use foo::bar::b;
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
use foo::bar qw(:a :b);
Run Code Online (Sandbox Code Playgroud)
在我看来,这将使我的脚本可以访问bar.pm,a.pm和b.pm中的所有内容.
我测试了这样的东西,我显然是错的.
这样的事情可能吗?我想我可以使用bar.pm使用a.pm和b.pm,然后使用"包装"函数将调用传递给"子模块",但似乎有一种更简单的方法.
我遵循ScottGu关于使用-vsdoc.js文件启用javascript intellisense的建议.
http://weblogs.asp.net/scottgu/archive/2008/11/21/jquery-intellisense-in-vs-2008.aspx
当我在HTML/ASPX文件中编写javascript时,我现在得到智能感知.我将大部分javascript写在单独的javascript文件中,我附加到我的代码中,脚本标签如下:
<script type="text/javascript" src="./js/myhappyjavascript.js"></script>
Run Code Online (Sandbox Code Playgroud)
在这样的文件中,我没有得到intellisense,这是我最需要的地方.有谁知道如何在jquery上获得intellisense在那里工作?
是否可以编写一个REGEX(搜索替换),当在XML字符串上运行时,输出的XML字符串会很好地缩进?
如果是这样的话REGEX :)
我有一个关于使用许可许可(BSD,Apache,MIT等)源的问题,其中该行可能在原始代码和借用代码之间严重模糊.
我们非常乐意根据许可证的要求披露原始来源的版权.
我想知道的具体情况是如何正确更新我修改过的文件中的源头.
假设您有一些来自您想要使用的项目的来源.它包含如下所示的标题.
/*
* Copyright (C) 2006, 2007 John Doe.
* Copyright (C) 2008, 2009 Project comitters.
* All rights reserved.
*
* The software in this package is published under the terms of the BSD
* style license a copy of which has been included with this distribution in
* the LICENSE.txt file.
*
* Created on 07. March 2004 by John Doe
*/
Run Code Online (Sandbox Code Playgroud)
对于一个微不足道的错误修复,我只会做一些小改动,将其发送到上游并希望修复程序合并.当它发生时,我会删除修补后的版本并返回主线.
有时我想使用源作为跳跃点.随着时间的推移它会得到改变并重新改进和改进.它可能类似于原始代码,但它肯定是我们自己的工作.
可以用我自己的标头替换那个标头吗?我应该写一些像"基于John Doe的原始XYZ"这样的东西吗?
asp.net ×2
xml ×2
.net ×1
ant ×1
apache-flex ×1
build ×1
c# ×1
cookieless ×1
flexbuilder ×1
intellisense ×1
jquery ×1
licensing ×1
linq ×1
linq-to-xml ×1
open-source ×1
oracle ×1
perl ×1
perl-module ×1
pretty-print ×1
regex ×1
savechanges ×1
sql ×1
sql-update ×1
treeview ×1
webforms ×1
wpf ×1