该方案是一个禁用的控件,因为用户不应进行更改。在此控件内部是ScrollViewer
(以及其他控件),当父级被禁用时,它无法滚动。理想情况下,用户应该能够滚动此滚动查看器,以便他们可以看到其内容(内容应保持禁用状态)。
只是想知道是否有一些简单的xaml可以让一个禁用的scrollview可以滚动?
答案 0 :(得分:0)
覆盖应用程序的Application_Startup事件中的元数据,如下所示:
ScrollViewer.IsEnabledProperty.OverrideMetadata(typeof(ScrollViewer), new UIPropertyMetadata(true, new PropertyChangedCallback(ScrollViewer_IsEnabledPropertyChanged), new CoerceValueCallback(ScrollViewerForceEnabled)));
处理CoerceValueCallback以始终返回true,如下所示:
private static void ScrollViewer_IsEnabledPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs args) { }
private static object ScrollViewerForceEnabled(DependencyObject source, object value)
{
return true;
}