2013-07-26 6 views
4

Я использую элемент управления Fluidkit ElementFlow, который я использую для отображения UserControl, который содержит текстовый блок с ScrollViewer, а также кнопку, и когда они отображаются в элементе управления ElementFlow, все кнопки и ScrollViewer кажутся быть отключенным, потому что я не могу прокручивать полосу прокрутки ScrollViewer и даже простое действие, зависающее над кнопкой, ничего не делает с кнопкой.Элемент ElementFlow отключает элементы управления

Ниже приведен пример TextBlock в ScrollViewer, который не позволяет прокручивать, когда используется в ElementFlow.

Как это можно исправить?

<ScrollViewer 
     Height="1200" Width="800" 
     MaxHeight="1200" MaxWidth="800" 
     VerticalScrollBarVisibility="Auto"> 
     <TextBlock 
      Height="Auto" Width="800" 
      MaxWidth="800" 
      FontSize="20" 
      Text="Super long text" 
      TextWrapping="Wrap"/> 
</ScrollViewer> 

ответ

1

Просто глядя на исходный код проекта, похоже, что он создает трехмерную сетку и рисует элементы управления на сетке. Это предотвратит все взаимодействие с пользователем. Я не думаю, что есть простой способ обойти это.

Однако, поскольку у вас есть исходный код, вы можете самостоятельно выполнить эту работу, чтобы это произошло. Вам нужно будет изменить, как ElementFlow представляет свои элементы. Посмотрите на функцию CreateMeshModel. В настоящее время он создает сетку и применяет к ней VisualBrush. Вместо этого посмотрите на сообщение в блоге Interacting with 2D on 3D in WPF, чтобы выяснить, что должно произойти.