Q:

WPF How to make a textbox slideable

So I have a TextBox with fixed height and width.
I want to have a slider or something else on the TextBox to make the missing text visible. 
By missing text I mean the text that is longer than the width of the TextBox.
It doesn't have to be a slider just something that allows me to see the cut text.
I tried:
<TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"
         ScrollViewer.VerticalScrollBarVisibility="Auto" />

but it does nothing for me.

A:

Test this:
<TextBox ScrollViewer.VerticalScrollBarVisibility="Auto" 
        ScrollViewer.HorizontalScrollBarVisibility="Disabled"
        Width="300"
        Height="200"
        TextWrapping="Wrap"
        AcceptsReturn="True"
        FontSize="22pt"
        Text="Some loooooooooong text. Some loooooooooong text. Some long text. Some long text. Some long text. Some long text. Some long text. Some long text. "
        />

The key here is setting TextWrapping="Wrap". Also, if you want to be able to make a new line with the ENTER key, set AcceptsReturn="True".
If the scroll bar doesn't show for you, maybe your Width and Height isn't as "fixed" as you thought. The size of ScrollViewer needs to be limited somehow. Make sure that your TextBox is properly positioned in its container. For example, you may temporarily set its BorderThickness="5" and see if it isn't clipped anywhere (this may be the case if you have any HorizontalAlignment / VerticalAlignment  other than Stretch).

EDIT:
As I mentioned, for scrolling a TextBox, all depends on the value of TextWrapping property. 
For a TextBox, scrolling horizontally out-of-the-box only only makes sense if the text isn't wrapped (meaning there's only one very long line):
    <TextBox ScrollViewer.VerticalScrollBarVisibility="Disabled" 
        ScrollViewer.HorizontalScrollBarVisibility="Auto"
        Width="300"
        Height="200"
        TextWrapping="NoWrap"
        FontSize="22pt"
        Text="Some loooooooooong text. Some loooooooooong text. Some long text. Some long text. Some long text. Some long text. Some long text. Some long text. "
        />

If you want to have more than one line of text to scroll it horizontally, you have to wrap a TextBox in a ScrollViewer explicitly and set the sizes correctly to limit the ScrollViewer's content:
<ScrollViewer 
        Width="200"
        VerticalScrollBarVisibility="Auto" 
        HorizontalScrollBarVisibility="Auto">

        <TextBox Name="txb1"
            Width="500"
            VerticalAlignment="Stretch"
            TextWrapping="Wrap"
            AcceptsReturn="True"
            FontSize="22pt"
            Text="Some loooooooooong text. Some loooooooooong text. Some long text. Some long text. Some long text. Some long text. Some long text. Some long text. "
        />
    </ScrollViewer>

I guess if you want to "auto-adjust" the width of the TextBox somehow, you'd need to calculate it as text changes. A way to do it off the top of my head (there are probably better solutions):
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
        txb1.Width = txb1.Text.Split('\n').Max(a =>a.Length) * approximatedCharWidth;
    }

where as approximatedCharWidth I used:
approximatedCharWidth = MeasureString(txb1, "lext").Width/4.0;
private Size MeasureString(TextBox textBlock, string candidate)
    {
        var formattedText = new FormattedText(
            candidate,
            CultureInfo.CurrentCulture,
            FlowDirection.LeftToRight,
            new Typeface(textBlock.FontFamily, textBlock.FontStyle, textBlock.FontWeight, textBlock.FontStretch),
            textBlock.FontSize,
            Brushes.Black,
            new NumberSubstitution(),
            1);

        return new Size(formattedText.Width, formattedText.Height);
}

