在ItemsControl项上显示滚动条

本文关键字:显示 滚动条 ItemsControl | 更新日期: 2023-09-27 18:09:09

ItemsControl(这里是一个文本框)中的每个项如何显示垂直滚动条?

我不希望在所有展开器周围都有一个垂直滚动条。

这是我试过的代码:

<ItemsControl ScrollViewer.HorizontalScrollBarVisibility="Hidden" ItemsSource="{Binding Path=ErrorLogs}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel IsVirtualizing="True" VirtualizationMode="Recycling"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>                       
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Expander Margin="0"  Header="{Binding FileName}" Background="Green">
                <Controls:BindableTextBox Background="Red"                                         
                    Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
            </Expander>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

在ItemsControl项上显示滚动条

你有两个选择

<DataTemplate>
    <Expander Margin="0"
              Header="{Binding FileName}"
              Background="Green">
        <ScrollViewer VerticalScrollBarVisibility="Visible">
            <Controls:BindableTextBox Background="Red"
                                      Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
        </ScrollViewer>
    </Expander>
</DataTemplate>
2、在文本框 上启用多行

<DataTemplate>
    <Expander Margin="0"
              Header="{Binding FileName}"
              Background="Green">
        <TextBox Background="Red"
                 AcceptsReturn="True" TextWrapping="Wrap"
                 Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
    </Expander>
</DataTemplate>

我不确定控件:BindableTextBox所以使用多行取决于可用性