预约用的表格
来源:互联网 发布:怎么看网络是否稳定 编辑:程序博客网 时间:2024/04/29 09:31
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
/// <summary>
/// UserControl1.xaml 的交互逻辑
/// </summary>
public partial class UserControl1 : UserControl
{
ScrollViewer myScrollViewer = new ScrollViewer();
GridColumn gridColumn1 = new GridColumn();
GridColumn gridColumn2 = new GridColumn();
public Grid myGrid = new Grid();
public UserControl1()
{
InitializeComponent();
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
// Define a ScrollViewer
myScrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
myGrid.ColumnDefinitions.Add(new ColumnDefinition());
myGrid.ColumnDefinitions.Add(new ColumnDefinition());
myGrid.RowDefinitions.Add(new RowDefinition());
// Add the StackPanel as the lone Child of the Border
myScrollViewer.Content = myGrid;
gridColumn1.controlTemplateRight = (ControlTemplate)(this.Resources["ButtonRight"]);
gridColumn1.controlTemplateLeft = (ControlTemplate)(this.Resources["ButtonLeft"]);
gridColumn1.Init();
gridColumn2.controlTemplateRight = (ControlTemplate)(this.Resources["ButtonRight"]);
gridColumn2.controlTemplateLeft = (ControlTemplate)(this.Resources["ButtonLeft"]);
gridColumn2.Init();
Grid.SetColumn(gridColumn1.myGrid, 0);
Grid.SetRow(gridColumn1.myGrid, 0);
myGrid.Children.Add(gridColumn1.myGrid);
Grid.SetColumn(gridColumn2.myGrid, 1);
Grid.SetRow(gridColumn2.myGrid, 0);
myGrid.Children.Add(gridColumn2.myGrid);
// Add the Border as the Content of the Parent Window Object
this.Content = myScrollViewer;
}
//private void button1_Click(object sender, RoutedEventArgs e)
//{
// gridColumn.myGrid.ColumnDefinitions.Add(new ColumnDefinition());
// gridColumn.myGrid.Width += width;
// gridColumn.myGridTitle.Width = myGrid.Width;
// Grid.SetColumnSpan(myGridTitle, myGrid.ColumnDefinitions.Count());
// myScrollViewer.ScrollToRightEnd();
//}
//private void button2_Click(object sender, RoutedEventArgs e)
//{
// myGrid.ColumnDefinitions.RemoveAt(myGrid.ColumnDefinitions.Count() - 1);
// myGrid.Width -= width;
// myGridTitle.Width = myGrid.Width;
// Grid.SetColumnSpan(myGridTitle, myGrid.ColumnDefinitions.Count());
//}
}
public class GridColumn
{
public Grid myGridTitle = new Grid();
public Grid myGrid = new Grid();
public double width = 0;
public ControlTemplate controlTemplateLeft;
public ControlTemplate controlTemplateRight;
public GridColumn()
{
}
public void Init()
{
width = 60;
myGrid.Width = 60;
myGrid.Height = 320;
myGrid.HorizontalAlignment = HorizontalAlignment.Left;
myGrid.VerticalAlignment = VerticalAlignment.Top;
myGrid.ColumnDefinitions.Add(new ColumnDefinition());
myGrid.RowDefinitions.Add(new RowDefinition());
myGrid.RowDefinitions.Add(new RowDefinition());
myGrid.RowDefinitions.Add(new RowDefinition());
myGrid.RowDefinitions.Add(new RowDefinition());
myGridTitle.Width = myGrid.Width;
myGridTitle.Height = 30;
SetTitle();
SetBorder();
TextBox text = new TextBox();
text.Margin = new Thickness(10, 20, 20, 5);
text.Height = 150;
Grid.SetColumn(text, 0);
Grid.SetRow(text, 1);
Grid.SetRowSpan(text, 2);
text.Text = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n\naaaaaaaaaaaaaaaf";
myGrid.Children.Add(text);
// Add Layout control
myGrid.HorizontalAlignment = HorizontalAlignment.Left;
myGrid.VerticalAlignment = VerticalAlignment.Top;
}
private void SetTitle()
{
Grid myGridTitleTemp = new Grid();
Button button1 = new Button();
button1.Template = controlTemplateRight;
button1.Click += button1_Click;
button1.Background = Brushes.Red;
button1.Width = 30;
Grid.SetColumn(button1, 2);
Grid.SetRow(button1, 0);
Button button2 = new Button();
button2.Template = controlTemplateLeft;
button2.Click += button2_Click;
button2.Background = Brushes.Red;
button2.Width = 30;
Grid.SetColumn(button2, 1);
Grid.SetRow(button2, 0);
myGridTitleTemp.ColumnDefinitions.Add(new ColumnDefinition());
ColumnDefinition ColumnDefinition1 = new ColumnDefinition();
ColumnDefinition1.Width = GridLength.Auto;
myGridTitleTemp.ColumnDefinitions.Add(ColumnDefinition1);
ColumnDefinition ColumnDefinition2 = new ColumnDefinition();
ColumnDefinition2.Width = GridLength.Auto;
myGridTitleTemp.ColumnDefinitions.Add(ColumnDefinition2);
myGridTitleTemp.RowDefinitions.Add(new RowDefinition());
myGridTitleTemp.Children.Add(button1);
myGridTitleTemp.Children.Add(button2);
Grid.SetColumn(myGridTitleTemp, 0);
Grid.SetRow(myGridTitleTemp, 0);
var border = new Border() { BorderBrush = new SolidColorBrush(Colors.Gray), BorderThickness = new Thickness(1) };
Grid.SetRow(border, 0);
Grid.SetColumn(border, 0);
Grid.SetColumnSpan(border, 3);
border.Child = myGridTitleTemp;
myGridTitle.Children.Add(border);
myGrid.Children.Add(myGridTitle);
}
private void SetBorder()
{
//确定行和列数
var rows = myGrid.RowDefinitions.Count;
var columns = myGrid.ColumnDefinitions.Count;
//每个格子添加一个Border进去
for (int i = 1; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
var border = new Border() { BorderBrush = new SolidColorBrush(Colors.Gray), BorderThickness = new Thickness(1) };
Grid.SetRow(border, i);
Grid.SetColumn(border, j);
myGrid.Children.Add(border);
}
}
}
private void SetBorder(int column)
{
//确定行和列数
var rows = myGrid.RowDefinitions.Count;
var columns = myGrid.ColumnDefinitions.Count;
//每个格子添加一个Border进去
for (int i = 1; i < rows; i++)
{
var border = new Border() { BorderBrush = new SolidColorBrush(Colors.Gray), BorderThickness = new Thickness(0, 0, 1, 0.5) };
Grid.SetRow(border, i);
Grid.SetColumn(border, column);
myGrid.Children.Add(border);
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
myGrid.ColumnDefinitions.Add(new ColumnDefinition());
myGrid.Width += width;
myGridTitle.Width = myGrid.Width;
Grid.SetColumnSpan(myGridTitle, myGrid.ColumnDefinitions.Count());
SetBorder(myGrid.ColumnDefinitions.Count() - 1);
}
private void button2_Click(object sender, RoutedEventArgs e)
{
myGrid.ColumnDefinitions.RemoveAt(myGrid.ColumnDefinitions.Count() - 1);
myGrid.Width -= width;
myGridTitle.Width = myGrid.Width;
Grid.SetColumnSpan(myGridTitle, myGrid.ColumnDefinitions.Count());
}
}
}
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="439" d:DesignWidth="437" Loaded="UserControl_Loaded">
<UserControl.Resources>
<ControlTemplate x:Key="ButtonLeft" TargetType="{x:Type Button}">
<Grid>
<Polygon x:Name="ButtonPolygon" Stretch="Fill" Points="100,100 100,0 0,50" Stroke="White" StrokeThickness="2">
<Polygon.Fill>
<SolidColorBrush Color="Red" Opacity="0.8"/>
</Polygon.Fill>
</Polygon>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="Black"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="Gray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="ButtonRight" TargetType="{x:Type Button}">
<Grid>
<Polygon x:Name="ButtonPolygon" Stretch="Fill" Points="0,0 0,100 100,50" Stroke="White" StrokeThickness="2">
<Polygon.Fill>
<SolidColorBrush Color="Gray" Opacity="0.8"/>
</Polygon.Fill>
</Polygon>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="Black"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="Blue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</UserControl.Resources>
</UserControl>
- 预约用的表格
- 疯狂的预约转帐
- 预约一个来生的相逢
- 如何使用预约旺进行免费的在线平台预约
- 电话预约及面试的注意事项
- 与你,预约一个来生的相逢
- 与你,预约一个来生的相逢
- spring mvc连续七天的预约时间
- 香港dna性别鉴定预约的方法
- 旧会议室预约软件的数据库
- 怎样才能搞定英语课程的线上预约?
- 时间段预约库存功能的实现
- 今日任务-确认商务预约单的字段&确认异地预约单的界面
- 微信时代的预约-乐享其约的会议室预约
- 录播教室预约系统(九)-客户端部门管理员设定教室的预约规则
- JQuery应用实例——体育馆预约系统的预约功能实现
- 照相馆预约系统——如何配置美观个性的预约界面?
- 如何利用微信预约系统进行驾校教练学车的预约
- 从dll文件导出对应的lib文件
- [Python] 抓取聚划算页面商品分析页面获取商品信息并以XML格式保存到本地
- asp.net 控件的 ID ,ClientID ,UniqueID 区别
- python中的reduce函数
- 【转】Oracle SQL 内置函数大全
- 预约用的表格
- model selection
- jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关
- ASP 下载从SQL数据库中导出来的数据
- 搭建视频点播服务器 nginx/ flv /jw flv player
- Eclipse 常用快捷键
- C++拷贝构造函数(深拷贝,浅拷贝)------别人写的很好,参考一下。
- event_new
- 伪静态在iis下的规则和设置方法