2012-04-01 5 views
0

Ich habe eine Message.xaml Datei, die ein Empfängerfeld und ein Nachrichtenfeld wie folgt angezeigt werden soll:Benutzeroberfläche für Messaging-App für WP7

enter image description here

Der Benutzer kann mehrere Empfänger hinzufügen, so dass die TextBox sollte flexibel sein in der Höhe. Ich schaffte dies mit folgendem Code:

<TextBox FontSize="24" Margin="0,0,80,532" Name="absenderField" 
      AcceptsReturn="True" TextWrapping="Wrap" Height="auto" 
      MinHeight="30" MaxWidth="375"> 
</TextBox> 

Nun ist das Empfängerfeld in Höhe wächst, wenn Text hinzugefügt wird, die nicht hinein paßt. Die andere TextBox ist für die Nachricht. Das Markup ist dasselbe wie für das Empfängerfeld, nur die Höhe ist unterschiedlich.

Das erste Problem ist, dass, wenn das Empfängerfeld wächst, es über das Nachrichtenfeld hinausgeht, aber das Nachrichtenfeld am unteren Rand des Empfängerfelds ausgerichtet und nach unten verschoben werden sollte. Wie kann ich das erreichen?

Jetzt das andere Problem. Wenn ich viel Text eingeben, um das Nachrichtenfeld zu vergrößern, wird das Empfängerfeld ebenfalls vergrößert. Das ist sehr seltsam. Warum passiert das?

Ist es möglich, den Text innerhalb des Textfelds zu scrollen?

Ganze XAML:http://pastebin.com/xPg7rV9e

+0

Geben Sie uns mehr Code - ganze XAML für beide Textblocks – MarcinJuraszek

+0

traurig, dass vergessen, siehe meine update –

Antwort

1

Ich glaube, Sie Ihre Inhalte neu ordnen sollte und versuchen, etwas wie folgt aus:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="80" /> 
    </Grid.ColumnDefinitions> 

    <ScrollViewer> 
     <StackPanel> 
      <TextBox FontSize="24" Name="absenderField" AcceptsReturn="True" TextWrapping="Wrap" Height="auto" MinHeight="30" MaxWidth="375"> 
       <TextBox.InputScope> 
        <InputScope> 
         <InputScopeName NameValue="Text" /> 
        </InputScope> 
       </TextBox.InputScope> 
      </TextBox> 

      <TextBox FontSize="24" Name="messageField" AcceptsReturn="True" TextWrapping="Wrap"> 
       <TextBox.InputScope> 
        <InputScope> 
         <InputScopeName NameValue="Chat" /> 
        </InputScope> 
       </TextBox.InputScope> 
      </TextBox> 
     </StackPanel> 
    </ScrollViewer> 

    <Button Grid.Column="1" Height="70" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Top" Width="76"> 
     <Button.Background> 
      <ImageBrush ImageSource="/Smsflatrate;component/Images/appbar.add.rest2.png" /> 
     </Button.Background> 
    </Button> 
</Grid> 
+0

danke das funktioniert super! –

Verwandte Themen