DatatTemplate GridViewDataColumn должен отображать полосу прокрутки, если содержимое превышает максимальный предел

У меня есть шаблон данных в моем radGridviewDataColumn, чего я хотел добиться.

  1. если текст текстового блока превышает размер доступной ячейки представления сетки, тогда должна отображаться вертикальная полоса прокрутки.

  2. если пользователь пытается щелкнуть шаблонный столбец, тогда должна быть выбрана строка (в настоящее время я не могу выбрать строку при нажатии на шаблонный столбец, если щелкнуть другой столбец, тогда строка получает выбор.

Пример xaml:

<telerik:GridViewDataColumn UniqueName="UN" x:Name="IrColumn" Header="{Binding Path=Localization[ID71]}" TextAlignment="Right" Width="150" >
        <telerik:GridViewDataColumn.CellTemplate>
               <DataTemplate>
                      <ScrollViewer HorizontalScrollBarVisibility="Disabled"   VerticalScrollBarVisibility="Auto" HorizontalAlignment="Stretch"  >
                             <TextBlock x:Name="IrcIdentShortDescriptionColumnTextBox"
                                        TextWrapping ="Wrap"
                                        Text="Sampletext" 
                                        IsEnabled="False" />
                      </ScrollViewer>
               </DataTemplate>
        </telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>

person user2408987    schedule 06.12.2013    source источник


Ответы (1)


Попробуйте установить фиксированное значение ширины в ScrollViewer, чтобы проверить, будет ли ScrollViewer отображать полосы прокрутки, когда TextBlock превышает значение ширины ScrollViewier.

Если вы установите фиксированное значение ширины, и полосы прокрутки станут видимыми, потому что текст превышает пределы ширины, вы используете неправильную панель макета для вашего ScrollViewer. Это скорее произойдет, и поэтому у вас есть эта проблема.

Чтобы исправить это, просто привяжите ширину ScrollViewer к ширине столбца с помощью привязки RelativeSource.

Не могли бы вы установить значение фиксированной ширины и попробовать его.

person dev hedgehog    schedule 06.12.2013
comment
Я не хочу использовать фиксированную ширину, если я укажу фиксированную ширину, пространство всегда будет там, даже если данных нет. - person user2408987; 16.12.2013
comment
Просто чтобы ПРОВЕРИТЬ, работает ли он или нет, установите размеры исправления. Дайте мне знать, если это произойдет. - person dev hedgehog; 16.12.2013
comment
Так и думал. Затем, как было предложено в моем ответе, попробуйте привязать ширину к родительской панели или окну с привязкой RelativeSource. - person dev hedgehog; 16.12.2013