以编程方式将文本框插入Scrollview

时间:2015-08-03 14:54:12

标签: c# windows mvvm xamarin renderer

    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实现,具有以编程方式创建的视图。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

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

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);
}