Entwickler-Ecke

WPF / Silverlight - Textbox folgt dem Cursor nicht


Christian S. - So 15.07.07 19:54
Titel: Textbox folgt dem Cursor nicht
Hallo!

Ich habe für UpThePix [http://www.c-sharp-forum.de/topic_UpThePix+09++Lade+Deine+Fotos+nach+Flickr+hoch_74561.html] ein bisschen am ControlTemplate für die Textbox gebastelt. Leider habe ich nun das Problem, dass wenn der Text länger als die Textbox wird, ich sozusagen aus der Textbox heraustippe. Ich sehe also nicht mehr, was ich tippe, weil die Textansicht nicht dem Cursor folgt.

Hier mal das XAML-Zeugs für die Textbox:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
  <Style x:Key="PixeledBox" TargetType="{x:Type TextBoxBase}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    <Setter Property="MinWidth" Value="120"/>
    <Setter Property="MinHeight" Value="20"/>
    <Setter Property="AllowDrop" Value="true"/>
    <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type TextBoxBase}">
      <Border 
        Name="Border"
        CornerRadius="0" 
        Padding="2"
        Background="{StaticResource WindowBackgroundBrush}"
        BorderBrush="{StaticResource SolidBorderBrush}"
        BorderThickness="1" >
        <StackPanel Orientation="Horizontal">
        <ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
        <TextBlock Name="Pixels" Text="px" />
        </StackPanel>
      </Border>
      <ControlTemplate.Triggers>
        <Trigger Property="IsEnabled" Value="False">
        <Setter TargetName="Border" Property="Background" Value="{StaticResource DisabledBackgroundBrush}"/>
        <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
        </Trigger>
        <Trigger Property="TextBox.Text" Value="">
        <Setter TargetName="Pixels" Property="Visibility" Value="Hidden" />
        </Trigger>
      </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
    </Setter>
  </Style>
Es geht auch nicht, wenn ich den Pixels-Textblock und das Stackpanel drum herum weglasse, auch wenn es dann fast das Originaltemplate ist.

Wer kann helfen?

Grüße
Christian