我的目标是在用户以只读模式进入 UI 时禁用控件(文本框、单选按钮、...)及其所有子项(例如 tabitem 的选项卡)。
唯一的例外是滚动条,即使它是只读的,也应该启用它。
这是通过在 SO 上找到的以下代码优雅地完成的。这样做可以让 IsEnabled 属性继承给它的所有子项,同时允许启用滚动条。
public class AlwaysEnabledTabControlTabItem : TabItem
{
    static AlwaysEnabledTabControlTabItem()
    {
            IsEnabledProperty.OverrideMetadata(
                                               typeof(AlwaysEnabledTabControlTabItem),
                                               new FrameworkPropertyMetadata(
                                                   null,
                                                   (o,
                                                    value) => true));
    }
}
问题在于鼠标的滚轮(以及向上/向下翻页键)不再起作用。当您在选项卡上并且想要滚动时,没有任何反应。作为一个侧节点,如果您在窄滚动条上,鼠标滚轮就可以工作。
你将如何启用滚轮?
