我正在编写一个数据输入应用程序,并且在处理应用程序的添加、编辑和查看“模式”时遇到问题。
场景:用户从一个窗口中选择两个组合框中的项目,然后单击一个按钮。如果组合框选择与现有记录不匹配,则表单应打开并准备好插入值的新记录。如果选择与现有记录匹配,则应以“只读”模式打开该记录,并使用表单中的所有文本框。如果用户希望修改现有数据,他们单击表单的编辑按钮,将文本框设置为“可编辑”。
我是 wpf 的新手,但在我的 vba 应用程序中,我通常有一个 DataMode 属性和一个 ToggleControls 方法,该方法将循环通过 TabControl 的 TabItems,然后循环通过 TabItems 的控件,设置找到的任何 TextBox 控件的 IsReadOnly 属性基于“DataMode”属性。但是,我怀疑这是否是 wpf 中要遵循的路径。
所以,我的问题是,我是否使用上述方法?如果是这样,我如何访问 TabItem 中的控件。这不起作用:foreach (Control ctrl in MyTabCtrl) { //if Textbox do stuff }
.
如果这不是这样做的方法,有人可以告诉我方法吗?我猜这要么是模板/样式问题,要么与以某种方式将数据设置为只读有关,然后将 TextBox 的 IsReadOnly 属性绑定到数据的状态。编辑:哦,或者那个 ViewStateManager 的东西。所有这些我都知之甚少。