2017-06-27 2 views
0

Ich verwende Xamarin Formulare und Ereignisse für Elemente innerhalb eines relativen Layouts werden nicht ausgelöst. Ich habe versucht, sie auch hinter dem Code zu registrieren und schieße immer noch nicht. Ich habe eine Beschränkung von -250, weil Schaltflächen unten auf dem Bildschirm angezeigt wurden und es die einzige Möglichkeit war, sie zu verschieben. Hier ist meine XAML:Ereignisse auf Elementen im relativen Layout werden nicht ausgelöst

<StackLayout Orientation="Vertical"> 
    <RelativeLayout> 
     <Grid Margin="0,0,10,0" 
       x:Name="grid" 
       RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=10}" 
       RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=0}" 
       > 


     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="50*" /> 
      <ColumnDefinition Width="50*" /> 
     </Grid.ColumnDefinitions> 

     <Label Grid.Column="0" 
       Grid.Row="0" 
       Text="IP Address" 
       Margin="10,10,0,0" 
       HorizontalOptions="StartAndExpand"/> 
     <Entry Grid.Column="1" 
       Grid.Row="0" 
      x:Name="IPAddress" 
      Placeholder="IP" 
       WidthRequest="200" 

       Margin="0,0,10,0" 
      HorizontalOptions="EndAndExpand"/> 
     <Label Grid.Column="0" 
       Grid.Row="1" 
       Text="Port" 
       Margin="10,10,0,0" 
       MinimumWidthRequest="100" 
       HorizontalOptions="Start"/> 
     <Entry Grid.Column="1" 
       Grid.Row="1" 
      x:Name="Port" 
       Margin="0,0,10,0" 
      Placeholder="Port" 
       WidthRequest="200" 
      HorizontalOptions="End"/> 
     <Label Grid.Column="0" 
       Grid.Row="2" 
       Margin="10,10,0,0" 
       Text="User Name" 
       MinimumWidthRequest="100" 
       HorizontalOptions="Start"/> 
     <Entry Grid.Column="1" 
       Grid.Row="2" 
      x:Name="UserName" 
       Margin="0,0,10,0" 
       WidthRequest="200" 
      Placeholder="User Name" 
      HorizontalOptions="End"/> 
     <Label Grid.Column="0" 
       Grid.Row="3" 
       Margin="10,10,0,0" 
       Text="Password" 
       MinimumWidthRequest="100" 
       HorizontalOptions="Start"/> 
     <Entry Grid.Column="1" 
       Grid.Row="3" 
      x:Name="Password" 
       IsPassword="True" 
       Margin="0,0,10,0" 
       WidthRequest="200" 
      Placeholder="Password" 
      HorizontalOptions="End"/> 

     </Grid> 

    </RelativeLayout> 
    <RelativeLayout 
     IsEnabled="True"> 
     <Button x:Name="SaveBtn" 
       IsEnabled="True" 
       WidthRequest="100" 
       RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=-250}" 
       RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=30}" 
       Clicked="SaveBtn_Clicked" 
       BorderColor="Gray" 
       Text="Save"></Button> 
     <Button x:Name="ClearFavorites" 
       IsEnabled="True" 
       WidthRequest="120" 
       RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=-250}" 
       RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.5, Constant=20}" 
       Clicked="ClearFavorites_Clicked" 
       BorderColor="Gray" 
       Text="Clear Favorites"></Button> 
    </RelativeLayout> 
</StackLayout> 
+1

zeigen Sie Ihren Code mit SaveBtn_Clicked –

+0

Ihre Zwänge Tasten nehmen aus dem Bildschirm definiert scheint zu funktionieren. Wenn ich sie auf Schaltflächen einstellen sehe, bekomme ich beide Klickereignisse –

+0

Welches Gerät verwendest du? Ich teste auf 5s und 6, und die Tasten sind auf dem Bildschirm. –

Antwort

1

Nach der Diskussion im Chat diese

<StackLayout Orientation="Vertical"> 
<RelativeLayout> 
<Grid Margin="0,0,10,0" 
x:Name="grid" 
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=10}" 
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=0}" 
> 


<Grid.RowDefinitions> 
<RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 
<Grid.ColumnDefinitions> 
<ColumnDefinition Width="50*" /> 
<ColumnDefinition Width="50*" /> 
</Grid.ColumnDefinitions> 

<Label Grid.Column="0" 
Grid.Row="0" 
Text="IP Address" 
Margin="10,10,0,0" 
HorizontalOptions="StartAndExpand"/> 
<Entry Grid.Column="1" 
Grid.Row="0" 
x:Name="IPAddress" 
Placeholder="IP" 
WidthRequest="200" 

Margin="0,0,10,0" 
HorizontalOptions="EndAndExpand"/> 
<Label Grid.Column="0" 
Grid.Row="1" 
Text="Port" 
Margin="10,10,0,0" 
MinimumWidthRequest="100" 
HorizontalOptions="Start"/> 
<Entry Grid.Column="1" 
Grid.Row="1" 
x:Name="Port" 
Margin="0,0,10,0" 
Placeholder="Port" 
WidthRequest="200" 
HorizontalOptions="End"/> 
<Label Grid.Column="0" 
Grid.Row="2" 
Margin="10,10,0,0" 
Text="User Name" 
MinimumWidthRequest="100" 
HorizontalOptions="Start"/> 
<Entry Grid.Column="1" 
Grid.Row="2" 
x:Name="UserName" 
Margin="0,0,10,0" 
WidthRequest="200" 
Placeholder="User Name" 
HorizontalOptions="End"/> 
<Label Grid.Column="0" 
Grid.Row="3" 
Margin="10,10,0,0" 
Text="Password" 
MinimumWidthRequest="100" 
HorizontalOptions="Start"/> 
<Entry Grid.Column="1" 
Grid.Row="3" 
x:Name="Password" 
IsPassword="True" 
Margin="0,0,10,0" 
WidthRequest="200" 
Placeholder="Password" 
HorizontalOptions="End"/> 

</Grid> 

</RelativeLayout> 
<RelativeLayout 
IsEnabled="True"> 
<Button x:Name="SaveBtn" 
IsEnabled="True" 
WidthRequest="100" 
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=50}" 
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=30}" 
Clicked="SaveBtn_Clicked" 
BorderColor="Gray" 
Text="Save"></Button> 
<Button x:Name="ClearFavorites" 
IsEnabled="True" 
WidthRequest="120" 
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=50}" 
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.5, Constant=20}" 
Clicked="ClearFavorites_Clicked" 
BorderColor="Gray" 
Text="Clear Favorites"></Button> 
</RelativeLayout> 
</StackLayout> 
Verwandte Themen