Если у меня есть элемент, преобразованный за пределы средства просмотра прокрутки WPF, я не могу отобразить его сверху.
Рассмотрим следующий пример:
<Window x:Class="ScrollViewerContentTransform.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="Blue" Panel.ZIndex="1"/>
<ScrollViewer Grid.Row="1" Panel.ZIndex="2">
<Grid>
<Border Width="30" Height="30" Background="Red">
<Border.RenderTransform>
<TranslateTransform Y="-80"/>
</Border.RenderTransform>
</Border>
</Grid>
</ScrollViewer>
</Grid>
</Window>
Даже когда я устанавливаю zorder, красная рамка все равно будет скрыта под синей рамкой.
Если я заменю ScrollViewer сеткой, это будет отображаться по мере необходимости. Любые советы о том, как я могу заставить элемент отображаться сверху при использовании ScrollViewer?
Border
, который у вас есть, находится в другой строке, поэтому он никогда не будет визуально перекрываться сScrollViewer
, если где-то в ваших шаблонах вы не установилиClipToBounds
в значение false для строк сетки. - person Ameen   schedule 10.01.2013Scrollviewer
наGrid
, я получу визуальный результат, который искал. Я бы предположил, что дляScrollViewer
тоже есть решение. - person Erlend Såstad Solberg   schedule 10.01.2013