2010-10-06 48 views
1

我在面板中有很多嵌套的控件,我想禁用所有这些控件,但保持滚动状态。基本上,我使用绑定将根元素(panel)的IsEnabled属性设置为false。但是这也禁用滚动。任何想法(除了将IsEnabled添加到每个控件)?我正在使用MVVM。如何启用父级禁用时嵌套控件的滚动?

所以,在代码它看起来像这样:

<Grid IsEnabled="{Binding IsControlEnabled}"> 
    <StackPanel> 
    <.../> 
    <CustomControl/> 
    <.../> 
    </StackPanel> 
</Grid> 

CustomControl也是复杂的控制和拥有,例如,在<Scrollviewer><ListBox>。 而我的观点是让用户可以滚动ListBox中的项目,当IsControlEnabled == false

回答

-1

如果您禁用包含各自具有滚动查看器的控件的父控件,这是您的问题。您需要禁用每个控件,而不是更改父容器控件。

见例:

<Grid x:Name="LayoutRoot" 
     Background="White"> 
    <ScrollViewer Height="50"> 
     <Button IsEnabled="False" 
       Height="100" /> 

    </ScrollViewer> 
</Grid> 

祝福,

杰夫

+0

他说:“除了增加的IsEnabled每个控件,而不是” – 2010-10-06 16:52:25

相关问题