2010-10-06 4 views
1

У меня есть много вложенных элементов управления на панели, и я хочу отключить их все, но оставить свитки включенными. В принципе, я устанавливаю свойство IsEnabled корневого элемента (панели) в false с использованием привязки. Но это также отключает прокрутку. Любые идеи (кроме добавления IsEnabled для каждого элемента управления)? Я использую MVVM.Как включить прокрутку для вложенных элементов управления, когда родитель отключен?

Так, в коде это выглядит следующим образом:

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

CustomControl также комплекс управления и имеет, например, <ListBox> в <Scrollviewer>. И я хочу дать возможность прокручивать элементы в ListBox, когда IsControlEnabled == false.

ответ

-1

Если вы отключите родительский элемент управления, содержащий элементы управления, каждый из которых имеет scrollviewer, это ваша проблема. Вам необходимо отключить каждый элемент управления, а не изменять родительский контроль контейнера.

SEE Пример:

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

    </ScrollViewer> 
</Grid> 

Благословения,

Джефф

+0

Он сказал, что «за исключением добавления IsEnabled каждому элементу управления, вместо» –

Смежные вопросы