当用户按下Xamarin Forms上的Button时,显示按钮列表

时间:2016-11-15 01:35:34

标签: c# android xaml xamarin.android xamarin.forms

我有一个使用以下XAML的Xamarin.Forms应用程序。

<% for(Object[] tempStudentList: name) {
    for(Object tempStudent : tempStudentList) {
         String student = (String) tempStudent;
         System.out.println(student);
    }
} %>

它显示按钮列表,如下所示

<StackLayout Grid.RowSpan="8" 
                     Grid.Column="0"
                     >
          <Label Text="{Binding ActiveMenu.ChildMenuItems.Count}" />
        <ListView x:Name="weapponType"
                  ItemsSource="{Binding ActiveMenu.ChildMenuItems}"
                  BackgroundColor="Blue"
                 >
          <ListView.ItemTemplate>
            <DataTemplate>
              <ViewCell >
                  <Button Text="{Binding Text}"
                          FontSize="14"
                          />
              </ViewCell>
            </DataTemplate>
          </ListView.ItemTemplate>

        </ListView>
      </StackLayout>

当用户点击---- EVENT -----PROG -----STAT -----MENU1 -----MENU2 时,我希望它显示按钮列表

EVENT

其中

---Button1
---Button2
---Button3

如果有人可以指导我如何实现这一点,那将是非常好的。

1 个答案:

答案 0 :(得分:0)

你需要为每个按钮添加点击事件“OnBtClick”,如下代码:

 <ListView ItemsSource="{x:Static local:ListViewMode.All}" RowHeight="100">
    <ListView.ItemTemplate>
      <DataTemplate>
        <ViewCell>
          <ViewCell.View>
            <Button Text="{Binding BtName}" Clicked="OnBtClick"></Button>
          </ViewCell.View>
        </ViewCell>
      </DataTemplate>
    </ListView.ItemTemplate>
  </ListView>

在背后的代码中:

 async void OnBtClick(object sender, EventArgs e)
        {
            await Navigation.PushAsync(new ContentPage
            {
                Content = new StackLayout
                {
                    VerticalOptions = LayoutOptions.Center,
                    Children = {
                        new Button {

                            Text = "button1"
                        },
                        new Button {

                           Text = "button2"
                        },
                        new Button {

                            Text = "button3"
                        }
                    }
                }
            });
        }

当您单击每个按钮时,它将显示我在上面定义的三个按钮。