There're three columns in this custom Textbox, first for the left icon, second for the TextBox and the third for the right icon. As I keep adding lines in the TextBox the ScrollBar appears in its normal position.:

Is it possible to Translate it? I want it to appear appear below the tick mark?
EDIT
I've tried, first, with MarginProperty and then with a TranslateTransForm:
class EditTextScrollbar : ControlTemplate
{
public EditTextScrollbar() {
var grid = new FrameworkElementFactory(typeof(Grid));
var row1 = new FrameworkElementFactory(typeof(RowDefinition));
var row2 = new FrameworkElementFactory(typeof(RowDefinition));
var col1 = new FrameworkElementFactory(typeof(ColumnDefinition));
var col2 = new FrameworkElementFactory(typeof(ColumnDefinition));
var vScroll = new FrameworkElementFactory(typeof(ScrollBar)) { Name = "PART_VerticalScrollBar" };
var hScroll = new FrameworkElementFactory(typeof(ScrollBar)) { Name = "PART_HorizontalScrollBar" };
var translate = new FrameworkElementFactory(typeof(TranslateTransform));
row2.SetValue(RowDefinition.HeightProperty, new GridLength(1, GridUnitType.Auto));
col1.SetValue(ColumnDefinition.WidthProperty, new GridLength(1, GridUnitType.Auto));
//vScroll.SetValue(ScrollBar.MarginProperty, new Thickness(50, 50, 0, 0));
hScroll.SetValue(ScrollBar.OrientationProperty, Orientation.Horizontal);
hScroll.SetValue(Grid.RowProperty, 1);
hScroll.SetValue(Grid.ColumnProperty, 1);
translate.SetValue(TranslateTransform.XProperty, 20d);
vScroll.AppendChild(translate);
grid.AppendChild(row1);
grid.AppendChild(row2);
grid.AppendChild(col1);
grid.AppendChild(col2);
grid.AppendChild(vScroll);
grid.AppendChild(hScroll);
VisualTree = grid;
}
}
and in TextBox, named inputBox, I'd added this:
inputBox.Resources.Add("x", new Style() {
TargetType = typeof(ScrollViewer),
Setters = {
new Setter() {
Property = ScrollViewer.TemplateProperty,
Value = new EditTextScrollbar()
}
}
});
with MarginProperty nothing, apparently, changes and with TranslateTransform it throws:
System.ArgumentException: ''TranslateTransform' type must derive from FrameworkElement, FrameworkContentElement, or Visual3D.'
