2017-06-27 28 views
0

我正在使用Xamarin相對佈局內部的元素上的表單和事件不會觸發。我試圖在後面的代碼中註冊它們,但仍然沒有開火。我有-250的約束,因爲按鈕顯示在屏幕的底部,這是我可以移動它們的唯一方法。 這是我的XAML:相對佈局中的元素事件不會觸發

<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

顯示與SaveBtn_Clicked你的代碼中定義 –

+0

您的約束正在按鈕進行畫面。當我將它們設置爲查看按鈕時,我同時獲得了兩個點擊事件 –

+0

您使用的是什麼設備?我正在測試5和6,並且按鈕在屏幕上。 –

回答

1

上聊天討論後這似乎工作

<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> 
相關問題