只有第一个listpicker打开windows phone

时间:2012-12-04 10:46:10

标签: c# windows-phone-7

我正在使用Windows Phone Toolkit - 2011年11月(7.1 SDK),我希望每个都显示多个listpickers 在网格和列表框中的每个网格中。问题是,只有第一个listpicker弹出,其余的不弹出。其次,我如何自定义listpicker的完整模式页面,以横向方向显示,并将页面的“shell:SystemTray.IsVisible”设置为false。

抱歉,我无法发布截图。错误“获得超过10个声明来发布图片”。

由于

public MainPage()
    {
        InitializeComponent();
        for (int g = 0; g < 10; g++)
        {
            // Define the margins template dor elements
        Thickness elemThick = new Thickness();

        // Create the Grid that will hold all the elements of a single entry
        Grid entryGrd = new Grid();
        entryGrd.VerticalAlignment = VerticalAlignment.Top;
        entryGrd.HorizontalAlignment = HorizontalAlignment.Left;
        elemThick.Left = 0;
        elemThick.Bottom = 0;
        elemThick.Right = 0;
        elemThick.Top = 0;
        entryGrd.Margin = elemThick;
        entryGrd.Tag = lstbxPH.Items.Count;

        // Setup the backgound value of the letBoder element
        LinearGradientBrush elemLGB = new LinearGradientBrush();
        elemLGB.EndPoint = new Point(0.5, 1);
        elemLGB.StartPoint = new Point(0.5, 0);

        GradientStop AquamarineGS = new GradientStop();
        AquamarineGS.Color = Color.FromArgb(255, 127, 255, 212);
        AquamarineGS.Offset = 0;

        GradientStop greenLikeGS = new GradientStop();
        greenLikeGS.Color = Color.FromArgb(255, 101, 250, 193);
        greenLikeGS.Offset = 0.988;

        elemLGB.GradientStops.Add(AquamarineGS);
        elemLGB.GradientStops.Add(greenLikeGS);

        // Draw the letter 
        for (int x = 0; x < 9; x++)
        {
            Border letBoder = new Border();
            letBoder.Width = 53;
            letBoder.Height = 51;
            letBoder.VerticalAlignment = VerticalAlignment.Top;
            letBoder.HorizontalAlignment = HorizontalAlignment.Left;
            elemThick.Left = x * 60 + 71;
            elemThick.Top = lstbxPH.Items.Count * 1 + 20;
            letBoder.Margin = elemThick;
            letBoder.Background = elemLGB;

            // The Texblock
            TextBlock let = new TextBlock();
            let.VerticalAlignment = VerticalAlignment.Center;
            let.HorizontalAlignment = HorizontalAlignment.Center;
            let.FontSize = 25;
            let.FontWeight = FontWeights.Bold;
            let.Foreground = new SolidColorBrush(Color.FromArgb(200, 255, 255, 255));
            let.Text = x.ToString();
            let.Tag = x;
            letBoder.Child = let;
            entryGrd.Children.Add(letBoder);
        }


        // Draw the List picker element for the draw types
        ListPicker DType = new ListPicker();
        DType.Width = 48;
        DType.VerticalAlignment = VerticalAlignment.Top;
        DType.HorizontalAlignment = HorizontalAlignment.Left;
        DType.Background = new SolidColorBrush(Color.FromArgb(200, 255, 255, 255));
        DType.BorderBrush = new SolidColorBrush(Color.FromArgb(200, 255, 255, 255));
        elemThick.Left = 17;
        elemThick.Top = lstbxPH.Items.Count * 1 + 10;
        DType.Margin = elemThick;
        DType.FontSize = 18;
        ListPickerItem item1 = new ListPickerItem() { Content = "A" };
        ListPickerItem item2 = new ListPickerItem() { Content = "B" };
        ListPickerItem item3 = new ListPickerItem() { Content = "C" };
        DType.Items.Add(item1);
        DType.Items.Add(item2);
        DType.Items.Add(item3);
        entryGrd.Children.Add(DType);


        if (lstbxPH.Items.Count != 0)
        {
            // The delete button and related image
            Button btnDel = new Button();
            btnDel.Height = 65;
            btnDel.Width = 60;
            btnDel.Tag = lstbxPH.Items.Count;
            btnDel.VerticalAlignment = VerticalAlignment.Top;
            btnDel.HorizontalAlignment = HorizontalAlignment.Left;
            btnDel.VerticalContentAlignment = VerticalAlignment.Top;
            btnDel.HorizontalContentAlignment = HorizontalAlignment.Left;
            elemThick.Left = 600;
            elemThick.Top = lstbxPH.Items.Count + 13;
            btnDel.Margin = elemThick;
            elemThick.Left = 0;
            elemThick.Bottom = 0;
            elemThick.Right = 0;
            elemThick.Top = 0;
            btnDel.Name = "btnDel";
            btnDel.Padding = elemThick;
            btnDel.BorderBrush = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));
            Image imgDel = new Image();
            imgDel.Source = new BitmapImage(new Uri("/appbar.delete.rest.png", UriKind.RelativeOrAbsolute));
            imgDel.VerticalAlignment = VerticalAlignment.Top;
            imgDel.HorizontalAlignment = HorizontalAlignment.Left;
            imgDel.Height = 35;
            imgDel.Width = 30;
            elemThick.Left = 0;
            elemThick.Bottom = 0;
            elemThick.Right = 0;
            elemThick.Top = 0;
            imgDel.Margin = elemThick;
            imgDel.Stretch = Stretch.UniformToFill;
            btnDel.Content = imgDel;

            entryGrd.Children.Add(btnDel);
        }

        // Add the grid with to the list box
        this.lstbxPH.Items.Add(entryGrd);
        }
    }

1 个答案:

答案 0 :(得分:0)

这个问题实际上是由Windows Phone Toolkit解决的 - 2011年11月(7.1 SDK)。 以下是我如何解决这个问题。

  1. 下载11月发布的工具包http://silverlight.codeplex.com/releases/view/75888
  2. 如果您安装了先前版本的工具包,请将其卸载并取消参考您项目中的工具包
  3. 安装11月发布的工具包
  4. 在项目中引用工具包,调试和繁荣!它已经开始了。
相关问题