【问题标题】:How to add button in grid like manner in windows phone [closed]如何在Windows Phone中以网格方式添加按钮[关闭]
【发布时间】:2023-03-24 08:05:01
【问题描述】:

我是 Windows Phone 新手,

我想以网格的方式显示 8 个按钮。

例如:

button 1           button 2

button 3           button 4

button 5           button 6

button 7           button 8

(像这样..)

: 如何做到这一点?

提前致谢

【问题讨论】:

    标签: c# wpf button windows-phone-8 grid


    【解决方案1】:

    您想使用 2 列和 4 行的网格控件。然后,您可以添加按钮并将它们分配给具有此类附加属性的网格行/列。您可以通过适当更改ColumnDefinitions 来调整列宽等:

    <Grid Width="100%">
          <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
          </Grid.RowDefinitions>
          <Button Name="btn1" Grid.Column="0" Grid.Row="0" Click="OnClick1">
            Button 1
          </Button>
          <Button Name="btn2" Grid.Column="1" Grid.Row="0" Click="OnClick2">
            Button 2
          </Button>
          <!-- More buttons in here as required... -->
    </Grid>
    

    编辑: 添加了对点击的支持。在你的 .cs...

        void OnClick1(object sender, RoutedEventArgs e)
        {
            // Clicked button 1
        }
    
        void OnClick2(object sender, RoutedEventArgs e)
        {
            // Clicked button 2
        }
    

    【讨论】:

    • 很确定他需要 4 行。
    • 确实,刚刚结束
    • 优秀的家伙!炒锅喜欢魅力.. 但是如何识别单击了哪个按钮?
    • @Krunal 看到我的编辑。您还可以在按钮中添加Tag,并根据需要使用相同的处理程序,在处理程序中读取发送者的Tag 属性的值
    • 老兄只是最后的疑问;)如果行数不固定怎么办?
    【解决方案2】:

    将它添加到堆栈面板中也很容易

    一个结构,类似这样的东西

    <Stackpanel Orientation="Vertical">
    <stackpanel Orientation="Horizontal" HorizontalAllignment="Center">
    <!--Button1-->
    <Button/>
    <!--Button2-->
    <Button/>
    <Stackpanel>
    <stackpanel Orientation="Horizontal" HorizontalAllignment="Center">
    <!--Button3-->
    <Button/>
    <!--Button4-->
    <Button/>
    <Stackpanel>
    <stackpanel Orientation="Horizontal" HorizontalAllignment="Center">
    <!--Button5-->
    <Button/>
    <!--Button6-->
    <Button/>
    <Stackpanel>
    <stackpanel Orientation="Horizontal" HorizontalAllignment="Center">
    <!--Button7-->
    <Button/>
    <!--Button8-->
    <Button/>
    <Stackpanel>
    </Stackpanel>
    

    【讨论】:

    • 是的,这可行,但您会失去Grid 为这种布局带来的优势,例如将控件与列对齐。
    • 是的,网格更灵活。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2016-06-06
    • 2012-06-26
    相关资源
    最近更新 更多