Autor Beitrag
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 15.07.07 19:54 
Hallo!

Ich habe für UpThePix 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:
ausblenden volle Höhe 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".