Windows phone 7 之 WrapPanel
WrapPanel:这个面板控件主要是通过Orientation属性设置包含在控件是的元素从左至右或从上至下依次安排位置,当元素超过该控件边缘时,它们将会被自动转至下一行或列。此控件一般用于文本布局、拾色器、图片等。需要加载System.Windows.Controls.Toolkit.dll
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);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?