Öğe listesini görüntülemek için özel WPF ItemsControl yazıyorum. öğeleri ScrollViewer içine gömülü olarak gösterilmektedir:WPF ScrollViewer'ın içeriği belirli bir konuma nasıl kaydırılır
<Style TargetType="MyCustomItemsControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="MyCustomItemsControl">
<ScrollViewer x:Name="PART_MyScrollViewer" >
<ItemsPresenter/>
</ScrollViewer>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ben kontrol içine fareyi hareket ettirdiğinizde, (seçili olarak işaretlenmiş) belirli madde fare pozisyonuna kaydırılır emin olmak istiyorum. OnMouseEnter yöntemimde öğeyi bulabiliyorum ancak ne yapacağımı bilmiyorum. Herhangi bir fikri olan var mı?
protected override void OnMouseEnter(MouseEventArgs e)
{
for (int i = 0; i < Items.Count; i++)
{
ContentPresenter uiElement = (ContentPresenter)ItemContainerGenerator.ContainerFromIndex(i);
var item = uiElement.Content as MyCustomObject;
if (item.IsSelected)
{
// How to scroll the uiElement to the mouse position?
break;
}
}
}
Çok teşekkür ederim! Bütün günümü başka yollarla geçirdim ama sonunda çözümün beni kurtardı .. Gerçekten çok çok minnettarım !!! –
Bu, gerçekte istediği şeyi yapmaz, çünkü tamamen farenin konumunu görmezden gelir, ancak en azından kontrolün ekrana getirilmesini sağlar (bu sorunun% 99'unda bu soruyu duyan herkesin olması muhtemeldir.) gerekir. Yani kesinlikle değerli bir katkıdır. – jmbpiano
Bu ihtiyaçlarımızı çok karşıladı, teşekkürler! –