.net 如何将滚动条的IsEnabled设置为始终为True?
每当确定不需要支持滚动条时,.net 如何将滚动条的IsEnabled设置为始终为True?,.net,wpf,.net,Wpf,每当确定不需要支持滚动条时,ScrollBar将被IsEnabled=False。目前,我想要滚动条,只要它是可见的,它就会是IsEnabled=True。如何将滚动条的IsEnabled设置为始终为True 我使用MVVM模式。滚动条覆盖IsEnabledCore: protected override bool IsEnabledCore { get { return base.IsEnabledCore && _canScroll; } } public cl
ScrollBar
将被IsEnabled=False
。目前,我想要滚动条
,只要它是可见的
,它就会是IsEnabled=True
。如何将滚动条的IsEnabled
设置为始终为True
我使用MVVM模式。滚动条
覆盖IsEnabledCore
:
protected override bool IsEnabledCore
{
get { return base.IsEnabledCore && _canScroll; }
}
public class ScrollBar_AlwaysEnabled : ScrollBar
{
protected override bool IsEnabledCore
{
get { return true; }
}
}
这意味着如果它不能滚动,它将被禁用,并且您不能通过更改属性来覆盖它。修改此逻辑的唯一方法是子类化滚动条
,并重写IsEnabledCore
:
protected override bool IsEnabledCore
{
get { return base.IsEnabledCore && _canScroll; }
}
public class ScrollBar_AlwaysEnabled : ScrollBar
{
protected override bool IsEnabledCore
{
get { return true; }
}
}
此ScrollBar
将始终尊重IsEnabled
属性
请注意,如果显式使用此控件,这只会更改滚动条逻辑。许多控件在其模板中使用滚动条,如果要更改其行为,则需要完全替换其控件模板。总的来说,这不值得。谢谢@Discord。也许我会重新考虑我的项目请求。因为创建一个子类滚动条不值得。@Mr.Le在所有正确实现的应用程序中,无用的滚动条要么被隐藏,要么被禁用。让它们处于启用状态没有任何意义,因为这不是用户所期望的,而且会让人困惑。