Предотвращение выхода элемента управления WPF за пределы видимой области

Лучшее представление для кода в документах находится в шрифте фиксированной ширины (как это должно появиться в IDE), или со слабым, теневым фоном или со светлой границей для различения блока от другого текста.

23
задан WiiMaxx 4 July 2013 в 10:27
поделиться

5 ответов

Если предыдущий ответ не устранил проблему, вы также можете попробовать связать ширину, высоту вашей сетки с ActualWidth, ActualHeight вашего родительского UserControl. Примерно так:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication.UserControl1"
x:Name="UserControl">
<Grid Height="{Binding ElementName=UserControl, Path=ActualHeight}"
      Width="{Binding ElementName=UserControl, Path=ActualWidth}" />

В этом случае вы не устанавливаете явную ширину и высоту, но ограничиваете ширину / высоту гридов в соответствии с ограничениями UserControl, в котором он находится.

10
ответ дан 29 November 2019 в 01:57
поделиться

Они разные. Если вы не хотите, чтобы элементы выбирались, не используйте ListBox. Он будет тяжелее и будет отменять выбор при каждом нажатии пользователем на запись. Просто поместите ItemsControl в ScrollViewer

1
ответ дан 29 November 2019 в 01:57
поделиться

Попробуйте полностью удалить сетку и установить HorizontalAlignment и VerticalAlignment непосредственно в GroupBox. Если у макета есть только один дочерний элемент, он часто избыточен ... это справедливо в вашем случае.

Если это не сработает ... каков родитель вашего элемента управления сеткой?

0
ответ дан 29 November 2019 в 01:57
поделиться

Почему бы просто не использовать список вместо элемента управления, который имеет встроенный просмотрщик прокрутки.

0
ответ дан 29 November 2019 в 01:57
поделиться

У меня были те же проблемы с ListBox, он не расширялся и просмотрщик прокрутки не появлялся. Я решил это следующим образом:

 <UserControl x:Class="TesteView" 
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <Grid MaxHeight="710">
      ....
      ....
      <StackPanel>
         <ListBox  MaxHeight="515" 
            ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
            ScrollViewer.VerticalScrollBarVisibility="Auto" 
            ItemsSource="{Binding Path=Teste,Mode=TwoWay}">
            ....
            ....
        </ListBox>
     </StackPanel>
    </Grid>
   </UserControl>
0
ответ дан 29 November 2019 в 01:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: