以编程方式将文本框插入滚动视图

本文关键字:插入 滚动 视图 文本 编程 方式 | 更新日期: 2023-09-27 18:06:10

    public class CustomEditorRenderer :  EditorRenderer{
    protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
        {
            base.OnElementChanged(e);
            if (e.NewElement == null) return;
            Element.Focused += ElementOnFocused;
            Element.Unfocused += ElementOnFocused;
            SetScrolling(Editor);
        }
        private void SetScrolling(CustomEditor view){
          //TODO Custom scrolling?
        }
}

我打算尝试一些类似的东西:

var scroll = new ScrollViewer();
scroll.Content = Control;

然而,我不完全确定如何将scrollview放入视图中,因为无法设置parent属性。我希望做:

var parent = Control.Parent;
scroll.Parent = parent;
Control.Parent = scroll;
请原谅我,因为我对Windows开发也很陌生,可能会遗漏一些东西。如果有帮助的话,我没有使用XAML,它都是通过编程创建视图的MVVM实现。任何帮助都是感激的!

以编程方式将文本框插入滚动视图

经过一番寻找,我可能找到了一个可能的解决方案。

private void SetScrolling(CustomEditor view){
    var scroll = new ScrollViewer{Content = Control};
    var index = Children.IndexOf(Control);
    if(index != -1)
        Children.RemoveAt(index);
    Children.Add(scroll);
}