silverlight4.0的grid边框
来源:互联网 发布:淘宝 大类目小类目 编辑:程序博客网 时间:2024/05/01 00:31
说明:学习参考了
http://www.cnblogs.com/chenxizhang/archive/2011/09/22/2185414.html,详细代码可以参考该网址
更改为边框为1px:
private static void OnShowBorderChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var grid = d as Grid;
if((bool)e.OldValue)
{
grid.Loaded -= (s, arg) => { };
}
if((bool)e.NewValue)
{
grid.Loaded += (s, arg) =>
{
//这种做法自动将控件移动到Border里面来
var controls = grid.Children;
var count = controls.Count;
for(int i = 0; i < count; i++)
{
var item = controls[i] as FrameworkElement;
var border_left = new Border()
{
BorderBrush = new SolidColorBrush(Colors.Blue),
BorderThickness = new Thickness(0,0,1,1),
Padding = new Thickness(1),
};
//第一行
var topRowBorder = new Border()
{
BorderBrush = new SolidColorBrush(Colors.Blue),
BorderThickness = new Thickness(0, 1, 1, 1),
Padding = new Thickness(1),
};
//第一列
var topColm = new Border()
{
BorderBrush = new SolidColorBrush(Colors.Blue),
BorderThickness = new Thickness(1, 0, 1, 1),
Padding = new Thickness(1),
};
var all =new Border()
{
BorderBrush = new SolidColorBrush(Colors.Blue),
BorderThickness = new Thickness(1, 1, 1, 1),
Padding = new Thickness(1),
};
var row = Grid.GetRow(item);
var column = Grid.GetColumn(item);
var rowspan = Grid.GetRowSpan(item);
var columnspan = Grid.GetColumnSpan(item);
//第一个文本框
if (row == 0 && column == 0)
{
Grid.SetRow(all, row);
Grid.SetColumn(all, column);
Grid.SetRowSpan(all, rowspan);
Grid.SetColumnSpan(all, columnspan);
grid.Children.RemoveAt(i);
all.Child = item;
grid.Children.Insert(i, all);
}
else if (row == 0 && column != 0)
{
Grid.SetRow(topRowBorder, row);
Grid.SetColumn(topRowBorder, column);
Grid.SetRowSpan(topRowBorder, rowspan);
Grid.SetColumnSpan(topRowBorder, columnspan);
grid.Children.RemoveAt(i);
topRowBorder.Child = item;
grid.Children.Insert(i, topRowBorder);
}
else if (row != 0 && column == 0)
{
Grid.SetRow(topColm, row);
Grid.SetColumn(topColm, column);
Grid.SetRowSpan(topColm, rowspan);
Grid.SetColumnSpan(topColm, columnspan);
grid.Children.RemoveAt(i);
topColm.Child = item;
grid.Children.Insert(i, topColm);
}
else
{
Grid.SetRow(border_left, row);
Grid.SetColumn(border_left, column);
Grid.SetRowSpan(border_left, rowspan);
Grid.SetColumnSpan(border_left, columnspan);
grid.Children.RemoveAt(i);
border_left.Child = item;
grid.Children.Insert(i, border_left);
}
}
};
}
}
- silverlight4.0的grid边框
- Silverlight4入门之Grid控件(八)
- Silverlight4.0 RichTextArea(RichTextBox)
- Silverlight4.0 调试错误
- 为WPF和Silverlight的Grid添加边框线
- 为WPF和Silverlight的Grid添加边框线
- 为WPF和Silverlight的Grid添加边框线
- 为WPF和Silverlight的Grid添加边框线
- Silverlight4.0中移动一个元素动画的后台代码
- Silverlight4按钮的文字变色
- Silverlight4.0 添加服务器错误
- Silverlight4.0 ListBox 简单编辑
- 风云的银光志Silverlight4.0教程之遍历访问客户端用户的本地文件
- 风云的银光志Silverlight4.0教程之与摄像头与迈克风设备交互
- 风云的银光志Silverlight4.0教程之富文本控件RichTextArea(RichTextBox)
- 风云的银光志Silverlight4.0教程之WebBrowser控件(Silverlight内置HTML浏览器控件)
- 风云的银光志Silverlight4.0教程之打印报表和图形
- 风云的银光志Silverlight4.0教程之轻松操作剪切板
- QT 生成随机数
- 程序员应该知晓的100个vim命令
- PageRank的一个简单实现
- va_start、va_arg、va_end分析
- 冲击多个Input File赋值兼解决中文赋值问题
- silverlight4.0的grid边框
- Python简记
- 手写板开发总结
- Linux系统下的交换分区和交换文件的含义
- js onmouseout 与onmouseleave的区别
- SQL学习(9)SQL Server培训
- js移除option值的方法
- MSCRM 2011 Lookup类型 过滤 筛选
- VC MFC中关于非模态对话框的操作