从WPF窗口访问所有控件

时间:2009-08-27 17:24:51

标签: wpf controls

我在Visual Basic 2008中实现了一个函数,该函数从System.Winows.Form对象获取所有控件的内容,并返回与此内容对应的哈希值。使用此功能是检测用户是否修改了页面内容并确定是否必须显示要求保存的消息框。我尝试在WPF中执行此操作,但我似乎无法获得表单中的所有控件。 有没有办法做到这一点,或者更好的是,是否有一种能够满足我需要的功能?

谢谢,

2 个答案:

答案 0 :(得分:0)

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

也就是说,您可以使用LogicalTreeHelper(或VisualTreeHelper)来递归WPF树并找到您感兴趣的控件。

答案 1 :(得分:0)

我使用这种方法的原因是因为我需要将这些信息用于其他目的,而且我能够“配置”该方法以满足不同的需求。坦率地说,我不知道您对视图模型的意思。我是WPF的新手,所以如果它是其中的东西,那么我怀疑我以前没有听说过它。