Tag: scrollviewer

在ScrollViewer中旋转,scrollviewer不会滚动

我有一个页面,它有许多UI元素,其可滚动垂直像时间轴。 在中间我有一个枢轴,当它获得焦点或鼠标指针进入滚动查看器停止滚动。

WPF:Canvas吞咽MouseDownEvent?

任何人都可以向我解释为什么在这个简单的例子中MouseDown事件没有到达ScrollViewer ? 代码背后: using System; using System.Windows; using System.Windows.Input; namespace MouseDownTest { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); scrollViewer.AddHandler(MouseDownEvent, new RoutedEventHandler(ScrollViewer_Test)); } private void ScrollViewer_Test(object sender, RoutedEventArgs routedEventArgs) { Console.WriteLine(“ScrollViewer_Test”); } private void Canvas_MouseDown(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Canvas_MouseDown”); } private void Canvas_PreviewMouseDown(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Canvas_PreviewMouseDown”); } private […]

如何使scrollviewer滚动像素而不是组件(wpf)

我正在尝试使我的滚动查看器完美滚动,即我有一个scrollviewer并且它包含一个stackpanel,堆栈面板包含一个用户自制的用户控件。 它们可以在运行时动态增加或减少。 问题是,假设我的堆栈面板中只有2个用户控件,滚动查看器只有2个级别的滚动,因此它为每次单击或鼠标滚轮移动滚动整个用户控件。 我怎么能改变呢? 它是属性还是设计中存在错误? 这是它的xaml代码: 并且堆栈面板动态扩展或收缩。

确定ScrollViewer中垂直滚动条的宽度

我正在使用ScrollViewer来显示图像。 Image将ScaleTransform设置为其中一个LayoutTransforms。 我已经设置好将图像的宽度调整到ScrollViewer的ActualSize中。 我的问题是,如果图像高度需要存在垂直滚动条(我将其设置为自动),那么我的图像会缩放一点点。 我知道如何确定滚动条是否存在以及如何获得正确的比例,但我无法弄清楚如何确定滚动条的实际宽度。 我想我可以猜它,但是如果我稍后在我的应用程序中添加样式会导致滚动条的大小不同,我想要一些可行的方法。 另外我也做Fit To Height并且当它可见时需要获得水平滚动条的高度(我假设获得垂直滚动条的宽度的答案将使得获得水平滚动条的高度明显)。

无论何时在wpf中滚动任何一个ScrollViewers,都会同步滚动它们

我已经完成了这个主题: 将两个VerticalScrollBars绑定到另一个 它几乎帮助实现了目标,但仍然缺少一些东西。 这是左右或上下移动滚动条给出了我的两个滚动查看器中滚动的预期行为,但是当我们尝试在滚动查看器中滚动使用/单击这些滚动条末端的箭头按钮时,只滚动一个滚动查看器预期的行为。 那么我们需要添加/编辑以解决这个问题呢?

计算水平偏移以将ListView滚动到SelectedItem的中心

我正在构建一个照片应用程序,使用FlipView和listView作为分页。 当我点击ListView的缩略图时,它会在FlipView显示相同的图片。 当我滑入FlipView ,所选的任何照片都会在ListView选择相同的图片。 这可以通过添加到它们来完成: 到ListView : SelectedIndex=”{Binding Path=SelectedIndex, ElementName=flipView1, Mode=TwoWay} 到FlipView : SelectedIndex=”{Binding Path=SelectedIndex, ElementName=listView1, Mode=TwoWay} 我添加了ListView SelectionChanged事件: if (e.AddedItems.Count > 0) listView1.ScrollIntoView(e.AddedItems.First(), ScrollIntoViewAlignment.Leading); 我唯一的问题是当我滑动FlipView ,在ListView选择了所需的图片,但ScrollViewer没有滚动到它。 我尝试使用WinRTXamlToolkit来更改ScrollViewer的位置: private void pageRoot_Loaded() { // count number of all items int itemCount = this.listView1.Items.Count; if (itemCount == 0) return; if (listView1.SelectedIndex >= itemCount) listView1.SelectedIndex = itemCount – […]

如何在C#中查找Scrollviewer的垂直滚动条宽度

我有一个ScrollViewer,我正在显示Vertical Scrollbar,现在我想改变系统的分辨率,我想得到滚动条的宽度。 我通过One StackOverflow Post他们提到检查SystemParameters.ScrollWidth属性,但我再次找到他们的任何帮助。 任何人都可以帮我解决我的问题。 任何答案将不胜感激。

WPF从TreeView中删除ScrollViewer

我想知道是否可以轻松关闭TreeView的ScrollViewer。 我有一个带网格的UserControl。 其中一个Cell在Stackpanel中有一些TreeView。 Control的高度根据TreeView的高度自动调整,因此不需要滚动条。 问题是:我在ListBox中有很多这些具有自己的ScrollViewer,但是当我使用MouseWheel时,当你在TreeView上时滚动停止。 这是因为TreeView有自己的ScrollViewer来窃取MouseWheel。 我知道这可能是通过覆盖控件模板来实现的,但我希望有一种更简单的方法。

如何在MVVM WPF应用程序中控制ListBox的滚动位置

我有一个大的ListBox启用了垂直滚动,我的MVVM有New和Edit ICommands。 我在集合的末尾添加了新项目,但是当我调用MVVM-AddCommand时,我还希望滚动条自动定位到End。 我还从应用程序的其他部分创建一个可编辑的项目(通过调用带有特定行项的EditCommand),以便我的ListBoxItem使用DataTrigger进入编辑模式,但是如何将该特定行(ListBoxItem)带到视图中通过调整滚动位置。 如果我在View端进行,我可以调用listBox.ScrollInToView(lstBoxItem)。 但是从MVVM角度解决这个常见Scroll问题的最佳方法是什么。

从C#访问ListBox的ScrollViewer

我想从C#更改ListBox的ScrollViewer的属性。 我在Stackoverflow上找到了这个问题 。 我接受了接受的答案的建议,并将ScrollViewer作为子类的属性公开。 但是,这似乎不适用于下面显示的示例。 该问题中的一些评论也表明这种技术不起作用。 XAML: C#: using System; using System.Windows; using System.Windows.Controls; namespace StackoverflowListBoxScrollViewer { public class MyListBox : ListBox { public ScrollViewer ScrollViewer { get { return (ScrollViewer)GetTemplateChild(“ScrollViewer”); } } } public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); var myListBox = new MyListBox(); Content = myListBox; myListBox.Items.Add(new Button() […]