【发布时间】:2011-11-10 13:10:32
【问题描述】:
在 wpf 中,自动完成框滚动条不会随向上 / 向下键移动。 当我使用向上/向下键选择一个项目时,滚动条不会随所选项目一起移动。
【问题讨论】:
-
伙计,你需要放一些代码,否则怎么会有人知道哪里出了问题
标签: wpf autocompletebox
在 wpf 中,自动完成框滚动条不会随向上 / 向下键移动。 当我使用向上/向下键选择一个项目时,滚动条不会随所选项目一起移动。
【问题讨论】:
标签: wpf autocompletebox
这是我的自动完成版本,希望对您有所帮助:-
下载WPF Toolkit 并安装它。在您的项目中添加对 System.Windows.Controls.Input.Toolkit 的引用。
将以下代码添加到您的页面或窗口标签
xmlns:rm="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
像下面要放置代码的地方一样使用它
<rm:AutoCompleteBox Name="sellerText" Grid.Column="0" Grid.Row="2" VerticalAlignment="Top" HorizontalAlignment="Left" Width="170" Margin="110,40,0,0" >
<rm:AutoCompleteBox.SelectedItem>
<Binding Source="{StaticResource insertTransaction}" Mode="TwoWay" UpdateSourceTrigger="Explicit" Path="Seller">
<Binding.ValidationRules>
<ExceptionValidationRule/>
</Binding.ValidationRules>
</Binding>
</rm:AutoCompleteBox.SelectedItem>
</rm:AutoCompleteBox>
【讨论】:
在https://stackoverflow.com/a/24241299/603268查看我的回答
附加一个 SelectionChanged 事件,然后在处理程序内部:
private void AutoCompleteBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
AutoCompleteBox box = (AutoCompleteBox)sender;
ListBox innerListBox = (ListBox) box.Template.FindName("Selector", box);
innerListBox.ScrollIntoView(innerListBox.SelectedItem);
}
【讨论】: