我的目標是當用戶以只讀模式進入用戶界面時禁用控件(文本框,單選按鈕等)及其所有子項(例如tabitem的選項卡)。再次啓用滾動
唯一的例外是應該啓用的滾動條,即使它是隻讀的。
這是通過在SO上找到的以下代碼大膽地完成的。這樣做可以讓IsEnabled屬性繼承它的所有子級,同時允許啓用滾動條。
public class AlwaysEnabledTabControlTabItem : TabItem
{
static AlwaysEnabledTabControlTabItem()
{
IsEnabledProperty.OverrideMetadata(
typeof(AlwaysEnabledTabControlTabItem),
new FrameworkPropertyMetadata(
null,
(o,
value) => true));
}
}
問題是鼠標滾輪(和頁面向上/向下鍵),它不再工作。 當您在選項卡上並且想要滾動時,什麼都不會發生。作爲一個側面節點,如果你在狹窄的滾動條上,那麼鼠標滾輪就可以工作。
如何啓用滾輪?