2010-10-06 49 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

相關問題