我有一个包含许多对象的WPF/Entity Framework(4.0)项目.我想构建应用程序,以便我可以在视图模型中共享对象选择状态.
例如:我们有汽车,司机,乘客和货物类.我们还有CarList,DriverList等的UserControls以及CarEditor,DriverEditor等的编辑器窗口.此外,我们有所有这些的视图模型(CarListViewModel,DriverListViewModel,CargoEditorViewModel等).这一切都构成了一个可停靠的界面,用户可以在其中打开多个对象列表,编辑器和查看器.
我想要的是如何连接多个视图模型的具体代码示例,以便在CarList中选择汽车将使该汽车在CarEditorView中生效,但也可以在上下文有效的任何其他视图中选择(例如如果有过滤谓词,则为DriverByCarView-或仅为DriverList.
基于这个问题,有许多建议和讨论.似乎占主导地位的两种方法是:
这些方法中的一种比另一种更好吗?
有没有人以书面或小代码项目的形式有这两种方法的具体例子?
我还在学习WPF,所以对于阅读API基础知识的入门点的建议表示赞赏,但查看代码示例是我经常去的地方.
谢谢
如果有人有兴趣,这里有一些其他类似的讨论:
在设计中,您可以通过执行以下方式邀请新用户:
User.invite!(:email => "new_user@example.com", :name => "John Doe")
Run Code Online (Sandbox Code Playgroud)
我想做的是(有时)阻止设计邀请发送电子邮件.我在库中找到了以下代码:
def invite!
if new_record? || invited?
self.skip_confirmation! if self.new_record? && self.respond_to?(:skip_confirmation!)
generate_invitation_token if self.invitation_token.nil?
self.invitation_sent_at = Time.now.utc
save(:validate => false)
::Devise.mailer.invitation_instructions(self).deliver
end
end
Run Code Online (Sandbox Code Playgroud)
有关如何最好地更新以至于不在最后一行发送电子邮件的任何想法?我不熟悉::
谢谢
的三个直接亚型Iterable是Map,Seq和Set.看起来,除了性能问题,一个Seq是整数的地图值,并且Set是从值的地图,布尔值(true,如果值是设定,否则为false).
如果是这种情况,为什么不通过Seq[V]扩展Map[Int, V]和Set[V]扩展在类型系统中表达Map[V, Boolean]?
我的页面上有一个错误,它阻止其他一些javascript正常运行:
$.ui.dialog.defaults is undefined
$.ui.dialog.defaults.bgiframe = true;
Run Code Online (Sandbox Code Playgroud)

我可以采取哪些步骤来修复此错误?
我头脑中有这个
<script language="JavaScript" type="text/javascript" src="http://www.mysite.com/demo/system/ext/jquery/jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="http://www.mysite.com/demo/system/ext/jquery/jquery-ui.js"></script>
Run Code Online (Sandbox Code Playgroud)
谢谢
这应该很容易! 但我一直无法找到这个问题的答案.
使用python,我想将二进制文件读入内存,修改文件的前四个字节,然后将文件写回.
必须有一种简单的方法来编辑四个小字节!对?
这两个功能在幕后做同样的事情吗?(在单一陈述函数中)
var evaluate = function(string) {
return eval('(' + string + ')');
}
var func = function(string) {
return (new Function( 'return (' + string + ')' )());
}
console.log(evaluate('2 + 1'));
console.log(func('2 + 1'));
Run Code Online (Sandbox Code Playgroud) 以下第二种缩进方法的一般意见是什么?
// Normal indentation
a.Value = "foobar";
ab.Checked = false;
foo.Value = "foobar";
foobar.Checked = true;
// Spaces before the dot to align the properties/methods
a .Value = "foobar";
ab .Checked = false;
foo .Value = "foobar";
foobar.Checked = true;
Run Code Online (Sandbox Code Playgroud)
这应该是一个维基,但我要么没有足够的权限,要么不知道如何更改它.
编辑
我已经决定添加另一个例子来更好地展示这种缩进样式可能有用的地方.
fooA .PropertyA = true;
foobarB.PropertyA = true;
Run Code Online (Sandbox Code Playgroud)
使用VS2010中的新多线编辑功能,可以更轻松地更改所有线路上的PropertyA.
在C#中也有空格,甚至在点之前的换行并不罕见(参见LINQ).
作为一个学习练习,我在Common Lisp中编写了一个Web scraper.(粗略)计划是:
我刚刚陷入困境:我正在抓取的网站并不总能产生有效的XHTML.这意味着步骤3(使用xmls解析页面)不起作用.而且我不喜欢使用正则表达式作为这个人 :-)
那么,任何人都可以推荐一个Common Lisp包来解析无效的XHTML吗?我想象的类似于HTML Agility Pack for .NET ...
对不起长标题,我甚至不知道如何表达问题的方式
我正在使用一个库,它从主线程(是一个C库)的不同上下文运行回调,我在C#中创建了回调,当我被调用时,我想只提出一个事件.
但是因为我不知道事件内部会是什么,我想找到一种方法来调用方法而不会出现锁等问题(否则第三方用户将不得不在事件中处理这个问题,非常难看)
有没有办法做到这一点?我可以完全走错路,但我正在考虑winforms处理不同线程的方式(.Invoke事物)
否则我可以发送消息到窗口的消息循环,但我不知道很多关于消息传递,如果我可以发送像这样的"自定义"消息
例:
private uint lgLcdOnConfigureCB(int connection, System.IntPtr pContext)
{
OnConfigure(EventArgs.Empty);
return 0U;
}
Run Code Online (Sandbox Code Playgroud)
这种回调从另外一个程序,我不拥有控制权叫,我想在主线程中运行OnConfigure方法(即处理我的WinForm的),怎么办呢?或者换句话说,我想运行OnConfigure而不需要考虑锁
编辑1:
我有这个例外的问题:
CallbackOnCollectedDelegate reived消息:在GarbageCollector中收集的委托'G19dotNet!G19dotNet.LgLcd + lgLcdOnSoftButtonsCB :: Invoke'上运行回调.在非托管代码期间,应确保代理永远不会被删除,直到您确定永远不会被调用
编辑2:
问题由我自己解决,感谢Stackoverflow总是帮助我!供将来参考:将委托定义为函数指针
c# ×3
binary ×1
callback ×1
coding-style ×1
common-lisp ×1
data-binding ×1
devise ×1
eval ×1
function ×1
io ×1
javascript ×1
jquery ×1
jquery-ui ×1
magento ×1
mvvm ×1
oop ×1
optimization ×1
python ×1
quicklisp ×1
scala ×1
signals ×1
subclass ×1
syntax ×1
web-scraping ×1
winforms ×1
wpf ×1