草庐IT

IsReadOnlyProperty

全部标签

c# - WPF 容器将所有子控件变为只读

我想要一个WPF容器(面板、用户控件等),它公开一个属性以将所有子级设置为只读(如果已设置)。这应该很像将父控件设置为IsEnabled=false,这也会禁用所有子控件。应考虑哪些子项及其哪些属性是固定的(例如TextBox.ReadOnly、DataGrid.ReadOnly...)。我曾尝试创建这样一个控件,它基本上(递归地)迭代可视化树的所有子项并相应地处理控件。除了进一步更改会影响可视化树的情况外,这工作正常,以便添加新的子项。这适用于ContentControl或ItemsControl。如果在我遍历它们之后将子项添加到可视化树中,它们显然不是只读的。我一直在努力寻找一个好