Lost !

-----hard working for the furture.

导航

统计

Windows phone 7 之 WrapPanel

WrapPanel:这个面板控件主要是通过Orientation属性设置包含在控件是的元素从左至右或从上至下依次安排位置,当元素超过该控件边缘时,它们将会被自动转至下一行或列。此控件一般用于文本布局、拾色器、图片等。需要加载System.Windows.Controls.Toolkit.dll

Windows <wbr>phone <wbr>7 <wbr>之 <wbr>WrapPanel

 

Xaml代码为:

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <toolkit:WrapPanel Height="504" HorizontalAlignment="Left" Margin="9,78,0,0" Name="wrapPanel1" VerticalAlignment="Top" Width="441" />
            <Button Content="清空" Height="72" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="101" Click="button1_Click" />
            <Button Click="OnAdd" Content="+1" Tag="1" Height="72" HorizontalAlignment="Left" Margin="107,0,0,0" Name="button2" VerticalAlignment="Top" Width="101" />
            <Button Click="OnAdd" Content="+5" Height="72" HorizontalAlignment="Left" Margin="228,0,0,0" Name="button3" Tag="5" VerticalAlignment="Top" Width="101" />
            <Button Click="OnAdd" Content="+8" Height="72" HorizontalAlignment="Left" Margin="355,0,0,0" Name="button4" Tag="8" VerticalAlignment="Top" Width="101" />
        </Grid>

 

CS代码为:

       Random rnd = new Random();
        private void button1_Click(object sender, RoutedEventArgs e)
        {//清空
            this.wrapPanel1.Children.Clear();
        }

        private void OnAdd(object sender, RoutedEventArgs e)
        {//根按按钮的Tag属性添加内容
            int count = Int32.Parse((string)((FrameworkElement)sender).Tag);

            while (count-- > 0)
            {
                AddItem();
            }
        }

        private void AddItem()
        {//添加
            Border b = new Border()
            {
                Width = 100,
                Height = 100,
                Background = new SolidColorBrush(Color.FromArgb(255, (byte)rnd.Next(256), (byte)rnd.Next(256), (byte)rnd.Next(256))),
                BorderThickness = new Thickness(2),
                Margin = new Thickness(8)
            };

            b.BorderBrush = (SolidColorBrush)Resources["PhoneForegroundBrush"];

            //注册移除事件
            GestureListener listener = GestureService.GetGestureListener(b);
            listener.Tap += new EventHandler<GestureEventArgs>(WrapPanelSample_Tap);

            wrapPanel1.Children.Add(b);
        }

        void WrapPanelSample_Tap(object sender, GestureEventArgs e)
        {//移除事件
            Border b = (Border)sender;
            wrapPanel1.Children.Remove(b);
        }

posted on   失落''80  阅读(414)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示