我TabControl
在我的 XAML 中定义了几个 s。我希望我的 ViewModel 知道所选的TabItem
名称或索引。TabItem
我还有一个ScrollViewer
我想在按下按钮时总是滚动到底部。
如果我能以某种方式访问我的代码中的元素,我应该能够解决上述两个问题。
我怎样才能达到这样的效果:
var tabIndex = this.GetElement<TabControl>("NameOfSomeTabControl").SelectedIndex;
var scrollViewer = this.GetElement<ScrollViewer>("NameOfSomeScrollViewer");
scrollViewer.VerticalScrollBarValue = scrollViewer.VerticalScrollBarMaximum;
编辑:xaml的代码,viewModel 代码
编辑2:看起来我能够从窗口类中获取元素的实例,但是我仍然不确定如何将引用传递给 ViewModel。
编辑3:我可以使用下面的代码实现滚动查看器自动进入底部。但是,一旦调用该方法,似乎滚动就会被禁用。
var tbRaw = this.Get<TextBlock>("tbRawOutput");
tbRaw.PropertyChanged += (s,e) => {
var svRaw = this.Get<ScrollViewer>("svRawOutput");
svRaw.Offset = new Vector(svRaw.Offset.X, svRaw.Extent.Height -svRaw.Viewport.Height);};