wpfc#:窗口、页面和事件

本文关键字:事件 窗口 wpfc# | 更新日期: 2023-09-27 18:24:34

在我基于C#的WPF项目中,我有一个带有画布的窗口,一个带有一些元素和框架的树视图。框架用于包含一个页面,该页面会根据所选的树视图元素进行更改。在页面中,我有一些文本框,我可以在其中写入双值。

也就是说,如果我选择树的第一个元素,加载的页面是Page1,其中有2个文本框;如果我选择第二个元素,则加载的页面为Page2,其中有3个文本框。

我需要的是,在更改文本框中的值后,我可以在画布上进行一些操作,即如果我写了一个值,画布中的一行就会在某个方向上移动该值。要管理的事件存在于Page类中,但Canvas在Window类中。那么,我如何从Window类之外管理画布呢?或者我需要更改Window的布局,并且不使用Frame来包含带有文本框的页面?有什么建议吗?

感谢

wpfc#:窗口、页面和事件

根据您的设置,有几个选项。

  1. 您可以将事件从Page类内部一直弹出到您的Window
  2. 创建Canvas对象时,可以将其向下传递到Page类中
  3. 如果您正在使用MVVM或类似的东西,您可以使用大多数MVVM工具包中提供的消息传递框架
  4. 我相信还有很多其他的选择,人们会赞同

就我个人而言,我最喜欢3,但如果你还不熟悉MVVM和工具包,那对你来说可能有些过头了。