在我的应用程序中,有一个Listbox和一个文本块都耦合在scrollviewer中。意味着我想要同时滚动列表框和文本块(遵循XAML可能更好地解释)。我想在列表框的textblock中显示一些文本当前在屏幕上可见的项目。所以我必须知道屏幕上当前可以看到哪个项目。
现在我不知道该怎么做。任何建议或评论都是可观的。提前致谢。
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel>
<ListBox x:Name="myListBox" SelectionChanged="SelectinoChanged" Height="150">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation ="Horizontal" >
<StackPanel.RenderTransform>
<TranslateTransform X="0"/>
</StackPanel.RenderTransform>
</StackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding name}" FontSize="30"/>
<Button Content="{Binding name}" FontSize="30" Name="but" Click="but_Click"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Name="tb" TextWrapping="Wrap" FontSize="40" Height="50" />
</StackPanel>
</ScrollViewer>
答案 0 :(得分:2)
列表框中包含一个ScrollViewer。
所以你应该删除你的ScrollViewer!
<StackPanel>
<ListBox x:Name="myListBox>
...
</ListBox>
<TextBlock Name="tb"/>
</StackPanel>
并且可能在ListBox上设置
HorizontalScrollBarVisibility="Auto"