Benutzer mit den meisten Antworten
Surface Textbox zoomen

Frage
-
Hallo zusammen,
ich bin gerade dabei eine WPF-Anwendung zu programmieren. Nun würde ich gerne wissen, ob es möglich ist eine Surface-Textbox zu zoomen. Das heißt ich klicke in die Box und diese wird automatisch größer. Vielleicht kann mir jemand weiterhelfen.
Mfg
Antworten
-
Hi,
mit Animation kann man das so wie in der nachfolgenden Demo für den Fall, dass sich die Maus in die TextBox bewegt, machen:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <Storyboard x:Key="OnMouseEnter1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="OnMouseLeave1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Window.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseLeave1}"/> </EventTrigger> </Window.Triggers> <Grid x:Name="LayoutRoot"> <TextBox x:Name="tb" Width="100" Height="50"> <TextBox.RenderTransform> <ScaleTransform CenterX="50" CenterY="25"/> </TextBox.RenderTransform> </TextBox> </Grid> </Window>
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Dienstag, 2. Juli 2013 07:21
- Als Antwort markiert Robbo1984 Dienstag, 2. Juli 2013 07:50
-
Hi,
wenn Du willst, dass die TextBox nur vergrößert wird, wenn sie den Focus hat, dann kann man dies analog mit der folgenden Demo erreichen:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <Storyboard x:Key="OnMouseEnter1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="OnMouseLeave1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Window.Triggers> <EventTrigger RoutedEvent="TextBox.GotFocus" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/> </EventTrigger> <EventTrigger RoutedEvent="TextBox.LostFocus" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseLeave1}"/> </EventTrigger> </Window.Triggers> <Grid x:Name="LayoutRoot"> <TextBox x:Name="tb" Width="100" Height="50"> <TextBox.RenderTransform> <ScaleTransform CenterX="50" CenterY="25"/> </TextBox.RenderTransform> </TextBox> <TextBox VerticalAlignment="Bottom" Width="100" Height="50"/> </Grid> </Window>
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Dienstag, 2. Juli 2013 07:20
- Als Antwort markiert Robbo1984 Dienstag, 2. Juli 2013 07:50
Alle Antworten
-
Hi,
mit Animation kann man das so wie in der nachfolgenden Demo für den Fall, dass sich die Maus in die TextBox bewegt, machen:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <Storyboard x:Key="OnMouseEnter1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="OnMouseLeave1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Window.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseLeave1}"/> </EventTrigger> </Window.Triggers> <Grid x:Name="LayoutRoot"> <TextBox x:Name="tb" Width="100" Height="50"> <TextBox.RenderTransform> <ScaleTransform CenterX="50" CenterY="25"/> </TextBox.RenderTransform> </TextBox> </Grid> </Window>
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Dienstag, 2. Juli 2013 07:21
- Als Antwort markiert Robbo1984 Dienstag, 2. Juli 2013 07:50
-
Hi,
wenn Du willst, dass die TextBox nur vergrößert wird, wenn sie den Focus hat, dann kann man dies analog mit der folgenden Demo erreichen:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <Storyboard x:Key="OnMouseEnter1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1.5" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="OnMouseLeave1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="tb" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"> <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" KeySpline="0,1,1,1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Window.Triggers> <EventTrigger RoutedEvent="TextBox.GotFocus" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/> </EventTrigger> <EventTrigger RoutedEvent="TextBox.LostFocus" SourceName="tb"> <BeginStoryboard Storyboard="{StaticResource OnMouseLeave1}"/> </EventTrigger> </Window.Triggers> <Grid x:Name="LayoutRoot"> <TextBox x:Name="tb" Width="100" Height="50"> <TextBox.RenderTransform> <ScaleTransform CenterX="50" CenterY="25"/> </TextBox.RenderTransform> </TextBox> <TextBox VerticalAlignment="Bottom" Width="100" Height="50"/> </Grid> </Window>
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Dienstag, 2. Juli 2013 07:20
- Als Antwort markiert Robbo1984 Dienstag, 2. Juli 2013 07:50
-
Mein Code sieht bisher wie folgt aus.... Muss ich den Code direkt vor der SurfaceTextBox3 einbinden?
<Window x:Class="WundeNEU" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WundeNEU" Height="910" Width="1700" WindowStartupLocation="CenterScreen" WindowState="Normal" WindowStyle="None" xmlns:my="http://schemas.microsoft.com/surface/2008" Name="FehlerLoginKonfig" BorderBrush="Black"> <Grid> <Grid.Background> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="#FF6895CB" Offset="0" /> <GradientStop Color="#FFCED9E7" Offset="0.613" /> </LinearGradientBrush> </Grid.Background> <Label Content="Wundart:" Height="Auto" HorizontalAlignment="Left" Margin="130,132,0,0" Name="Label2" VerticalAlignment="Top" FontSize="32" /> <Label Content="Körperstelle:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="130,204,0,0" Name="Label3" VerticalAlignment="Top" /> <Label Content="Grad:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="130,276,0,0" Name="Label4" VerticalAlignment="Top" /> <Label Content="Erstaufnahme am:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="130,386,0,0" Name="Label5" VerticalAlignment="Top" /> <Label Content="Abgeheilt am:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="130,500,0,0" Name="Label6" VerticalAlignment="Top" /> <Label Content="Entstehungsort:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="130,618,0,0" Name="Label7" VerticalAlignment="Top" /> <ComboBox Height="51" HorizontalAlignment="Left" Margin="420,134,0,0" Name="ComboBox1" VerticalAlignment="Top" Width="482" FontSize="28" Background="White" BorderBrush="#FF1C5CB8" ItemsSource="{Binding}"/> <Label Content="WUNDE HINZUFÜGEN" Height="Auto" HorizontalAlignment="Left" Margin="130,12,0,0" Name="Label1" VerticalAlignment="Top" FontSize="40" Foreground="Black" /> <Label Content="Kommentar:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="962,132,0,0" Name="Label8" VerticalAlignment="Top" /> <Label Content="Dokumente:" FontSize="32" Height="Auto" HorizontalAlignment="Left" Margin="962,338,0,0" Name="Label9" VerticalAlignment="Top" /> <my:SurfaceButton Content="Hinzufügen" FontSize="40" Foreground="White" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="1398,740,0,0" Name="SurfaceButton3" Padding="6,2,10,10" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="240"> <my:SurfaceButton.Background> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="#FF1B5BB8" Offset="0" /> <GradientStop Color="#FF719CCD" Offset="0.914" /> </LinearGradientBrush> </my:SurfaceButton.Background> </my:SurfaceButton> <my:SurfaceButton Content="Schließen" FontSize="40" Foreground="White" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="130,740,0,0" Name="SurfaceButton1" Padding="6,2,10,10" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="240"> <my:SurfaceButton.Background> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="#FF1B5BB8" Offset="0" /> <GradientStop Color="#FF719CCD" Offset="0.914" /> </LinearGradientBrush> </my:SurfaceButton.Background> </my:SurfaceButton> <ComboBox Background="White" BorderBrush="#FF1C5CB8" FontSize="28" Height="51" HorizontalAlignment="Left" Margin="420,206,0,0" Name="ComboBox2" VerticalAlignment="Top" Width="482" ItemsSource="{Binding}"> </ComboBox> <ComboBox Background="White" BorderBrush="#FF1B5BB8" FontSize="28" Height="51" HorizontalAlignment="Left" Margin="420,278,0,0" Name="ComboBox3" VerticalAlignment="Top" Width="482"> <ComboBoxItem Content="0. Grad" /> <ComboBoxItem Content="1. Grad" /> <ComboBoxItem Content="2. Grad" /> <ComboBoxItem Content="3. Grad" /> </ComboBox> <ComboBox Background="White" BorderBrush="#FF1C5CB8" FontSize="28" Height="51" HorizontalAlignment="Left" Margin="420,620,0,0" Name="ComboBox6" VerticalAlignment="Top" Width="482" /> <my:SurfaceTextBox Height="51" HorizontalAlignment="Left" Margin="420,388,0,0" Name="SurfaceTextBox1" VerticalAlignment="Top" Width="370" FontSize="28" BorderBrush="#FF1B5BB8" BorderThickness="1" Background="White" Foreground="Black" /> <my:SurfaceTextBox Background="White" BorderBrush="#FF1B5BB8" BorderThickness="1" FontSize="28" Foreground="Black" Height="51" HorizontalAlignment="Left" Margin="420,502,0,0" Name="SurfaceTextBox2" VerticalAlignment="Top" Width="370" /> <Calendar Height="Auto" HorizontalAlignment="Left" Margin="742,388,0,0" Name="Calendar1" VerticalAlignment="Top" Width="Auto" IsEnabled="True" FontSize="18" Visibility="Hidden" /> <my:SurfaceButton FontSize="40" Foreground="White" Height="100" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="821,377,0,0" Name="SurfaceButton2" Padding="6,2,10,10" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="100"> <my:SurfaceButton.Background> <ImageBrush ImageSource="/APP2;component/Images/scheduled_tasks.ico" /> </my:SurfaceButton.Background> </my:SurfaceButton> <my:SurfaceButton FontSize="40" Foreground="White" Height="100" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="821,483,0,0" Name="SurfaceButton4" Padding="6,2,10,10" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="100"> <my:SurfaceButton.Background> <ImageBrush ImageSource="/APP2;component/Images/scheduled_tasks.ico" /> </my:SurfaceButton.Background> </my:SurfaceButton> <Calendar Height="170" HorizontalAlignment="Left" Margin="741,502,0,0" Name="Calendar2" VerticalAlignment="Top" Width="180" Visibility="Hidden" /> <my:SurfaceTextBox Height="138" HorizontalAlignment="Left" Margin="962,191,0,0" Name="SurfaceTextBox3" VerticalAlignment="Top" Width="676" Background="White" Foreground="Black" HorizontalScrollBarVisibility="Auto" CharacterCasing="Normal" AcceptsTab="False" FontSize="28" TextWrapping="Wrap" UseLayoutRounding="False" OverridesDefaultStyle="False" /> <ComboBox Background="White" BorderBrush="#FF1C5CB8" FontSize="28" Height="51" HorizontalAlignment="Left" Margin="962,388,0,0" Name="ComboBox4" VerticalAlignment="Top" Width="676" /> </Grid> </Window>