系统相关
首页 > 系统相关> > c# – 在Windows Phone 8.1中动态创建按钮

c# – 在Windows Phone 8.1中动态创建按钮

作者:互联网

我在Windows Phone 8.1(通用)中创建了应用程序.我需要创建按钮的动态字段.这是我的示例xaml:

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

      <Grid x:Name="_root"
          Grid.Row="1"
          Margin="10" />

这是我的代码:

            _root.Children.Clear();
            _root.ColumnDefinitions.Clear();
            Size = 5;
            for (int i = 0; i < Size; i++)
            {
                _root.ColumnDefinitions.Add(new ColumnDefinition
                {
                    Width = new GridLength(1, GridUnitType.Star)
                });
            }
                for (int column = 0; column < Size; column++)
                {
                    Button btnTemp = new Button();
                    btnTemp.Visibility = Visibility.Visible;
                    btnTemp.VerticalAlignment = VerticalAlignment.Stretch;
                    btnTemp.HorizontalAlignment = HorizontalAlignment.Stretch;
                    btnTemp.HorizontalContentAlignment = HorizontalAlignment.Center;
                    btnTemp.VerticalContentAlignment = VerticalAlignment.Center;
                    btnTemp.BorderBrush = new SolidColorBrush(Colors.Blue);
                    btnTemp.Content = column;
                    Grid.SetColumn(btnTemp, column);
                    Grid.SetRow(btnTemp, 0);
                    _root.Children.Add(btnTemp);    
                }

这是我的结果:

enter image description here

如果我用过:

  Width = new GridLength(1, GridUnitType.Auto)

我得到结果:

enter image description here

我需要修复这些错误:

1.将文本对齐到按钮的中心.

>看不到按钮“4”的右边界.按钮“4”等广泛.

解决方法:

修复你的情况很简单 – 只需将创建按钮的MinWidth定义为0(默认值有一些值).

btnTemp.MinWidth = 0;

我认为它应该有所帮助.

然而,在你的情况下,我不会添加按钮到网格,我可能会定义ItemsPanel和适当的ItemsTemplate与Button,然后绑定到一个集合.

标签:c,xaml,winrt-xaml,win-universal-app,windows-8-1
来源: https://codeday.me/bug/20190628/1314192.html