2009-08-27 132 views
0

我在Visual Basic 2008中实现了一个功能,它接受来自System.Winows.Form对象的所有控件的内容并返回与此内容对应的散列值。此功能的使用是检测用户是否修改了页面的内容,并确定是否必须显示要求保存的消息框。我试图在WPF中这样做,但我似乎无法获得表单中的所有控件。 有没有办法做到这一点,或更好的是,有没有一个功能,做我所需要的?从WPF窗口访问所有控件

感谢,

回答

0

很抱歉,但我认为这是检测变化是非常糟糕的方式。更好的方法是简单地跟踪视图模型中的更改并暴露脏标志。

这就是说,你可以使用LogicalTreeHelper(或VisualTreeHelper)通过WPF树递归,找到你感兴趣的控件。

0

我用这个方法的原因是因为我需要这些信息用于其他目的,另外我能够“配置”该方法以适应不同的需求。坦率地说,我不知道你的观点模型是什么意思。我在WPF中是个新手,所以如果它是其中的东西,那么我以前从来没有听说过它。

+1

我明白了。我建议你阅读MVVM模式。这是一篇很好的文章,以帮助您开始:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx – 2009-09-23 16:26:35