aasser Ответов: 2

Мой список c# WPF не имеет полосы прокрутки, когда у него есть граница!


Всем привет
У меня есть список C# WPF. Моя проблема в том, что полоса прокрутки теперь отображается, когда элементы становятся такими длинными.

пожалуйста, взгляните на мой код:
<ListBox Margin="12,103,0,0" Name="listBoxOutside" ItemsSource="{Binding Path=TagFamilyCollection}">
    <ListBox.Template>
        <ControlTemplate>
            <Border BorderBrush="Black" BorderThickness="1" CornerRadius="5" >
                <ItemsPresenter/>
            </Border>
        </ControlTemplate>
    </ListBox.Template>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="Black" BorderThickness="1" CornerRadius="5" Margin="2,3,2,1" Background="LightSkyBlue">
                <StackPanel>
                    <TextBlock Text="{Binding Path=Title}" Margin="3"/>
                    <ListBox Name="listBoxInside" ItemsSource="{Binding Path=TagItemCollection}" AllowDrop="True" Drop="listBoxInside_Drop" MouseMove="MouseMoveHandler">
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="Horizontal"/>
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <Border BorderBrush="Black" BorderThickness="1" CornerRadius="2" Margin="2">
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="{Binding Path=Name}" Margin="3" />
                                        <Button Name="buttonRemove" Padding="0" Style="{StaticResource FlatCloseButton}" >
                                            <Image Source="/Resources/close.png" Stretch="UniformToFill" />
                                        </Button>
                                    </StackPanel>
                                </Border>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                </StackPanel>
            </Border>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>



Я использовал:
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True/False"


и все же это не работает.
Если я уберу границу, проблема будет решена, но я также хочу сохранить границу.

2 Ответов

Рейтинг:
15

Tarun.K.S

Привет,

Попробуйте добавить ScrollViewer внутри Border, что-то вроде этого:

<ListBox Margin="12,103,0,0" Name="listBoxOutside" ItemsSource="{Binding Path=TagFamilyCollection}">
    <ListBox.Template>
        <ControlTemplate>
            <Border BorderBrush="Black" BorderThickness="1" CornerRadius="5" >
                  <scrollviewer cancontentscroll="False"> 
                      <ItemsPresenter/>
                  </scrollviewer>
            </Border>
        </ControlTemplate>
    </ListBox.Template>


Теперь должно сработать.


Рейтинг:
1

sivaller2000

Ca ne marche pas !
scrollviewer n'existe pas !


[no name]

Серьезно? Это ваш единственный вклад за 8 лет?

Kats2512

лол даже не понимает этого ответа.