private static void ToOpenRoom(object sender, RoutedEventArgs e) { PUButton pUButton = sender as PUButton; Grid gd = pUButton.Parent as Grid; new OpenRoomWindow((gd.DataContext as Room).roomID, out OpenRoomViewModel viewModel, (thispage as RoomStatePage)).ShowDialog(); }
public static FrameworkElement MakeRoomInfoMainCard(Room room, int row, int column, List <RoomStateModel> roomStates, List <Finishtrans> finishtrans, List <Finishbook> finishbooks) { Border border = new Border(); border.CornerRadius = new CornerRadius(5, 5, 5, 5); border.Margin = new Thickness(10, 10, 10, 10); border.Background = new SolidColorBrush(Color.FromRgb(220, 220, 220)); border.Width = 130; border.Height = 180; border.SetValue(Grid.RowProperty, row); //设置按钮所在Grid控件的行 border.SetValue(Grid.ColumnProperty, column); //设置按钮所在Grid控件的列 DockPanel dockPanel = new DockPanel(); //主要信息界面 Grid grid = new Grid(); for (int i = 0; i < 5; i++) { RowDefinition rowDefinition = new RowDefinition(); rowDefinition.Height = new GridLength(36); grid.RowDefinitions.Add(rowDefinition); //添加行 } //房间号 Label roomnamelabel = new Label(); roomnamelabel.SetValue(Grid.RowProperty, 0); roomnamelabel.FontSize = 14; roomnamelabel.VerticalAlignment = VerticalAlignment.Center; roomnamelabel.HorizontalAlignment = HorizontalAlignment.Center; roomnamelabel.Content = room.roomname; grid.Children.Add(roomnamelabel); //房间类型 Label roomtypelabel = new Label(); roomtypelabel.SetValue(Grid.RowProperty, 1); roomtypelabel.FontFamily = new FontFamily("楷书"); roomtypelabel.FontSize = 15; roomtypelabel.Height = 36; roomtypelabel.Width = 135; roomtypelabel.VerticalAlignment = VerticalAlignment.Center; roomtypelabel.HorizontalAlignment = HorizontalAlignment.Center; roomtypelabel.HorizontalContentAlignment = HorizontalAlignment.Center; roomtypelabel.VerticalContentAlignment = VerticalAlignment.Center; roomtypelabel.Content = room.roomtype; roomtypelabel.BorderThickness = new Thickness(2); string color = ""; foreach (RoomStateModel rs in roomstates) { if (rs.Name == StateConfig[room.roomstate]) { color = rs.Color; break; } } roomtypelabel.Background = ColorsConfig[color]; if (color == "黑色" || color == "紫色" || color == "棕色" || color == "蓝色") { roomtypelabel.Foreground = Brushes.White; } grid.Children.Add(roomtypelabel); //修改房间状态按钮 Image change_roomstate = new Image(); change_roomstate.SetValue(Grid.RowProperty, 1); change_roomstate.Width = 18; change_roomstate.Height = 18; change_roomstate.MouseDown += changeRoomstate; change_roomstate.HorizontalAlignment = HorizontalAlignment.Right; change_roomstate.VerticalAlignment = VerticalAlignment.Center; if (color == "黑色" || color == "紫色" || color == "棕色" || color == "蓝色") { change_roomstate.Source = new BitmapImage(new Uri("/AppData/icon/paint_white.ico", UriKind.RelativeOrAbsolute)); } else { change_roomstate.Source = new BitmapImage(new Uri("/AppData/icon/paint_black.ico", UriKind.RelativeOrAbsolute)); } grid.Children.Add(change_roomstate); //房态 //Label roomstatelabel = new Label(); //roomstatelabel.SetValue(Grid.RowProperty, 2); //roomstatelabel.FontSize = 14; //roomstatelabel.VerticalAlignment = VerticalAlignment.Center; //roomstatelabel.HorizontalAlignment = HorizontalAlignment.Center; //switch (room.roomstate) //{ // case 0: // roomstatelabel.Content = "空房"; // break; // default: // break; //} //grid.Children.Add(roomstatelabel); //如果为空房 if (room.roomstate == 0 || room.roomstate == 4) { if (finishbooks.Count() > 0) { Image bookButton = new Image(); bookButton.SetValue(Grid.RowProperty, 0); bookButton.HorizontalAlignment = HorizontalAlignment.Right; bookButton.Width = 20; bookButton.Height = 20; bookButton.Source = new BitmapImage(new Uri("/AppData/icon/bookyes_black.ico", UriKind.RelativeOrAbsolute)); bookButton.MouseDown += ShowBookInfo; bookButton.DataContext = finishbooks[0]; grid.Children.Add(bookButton); } else { Image bookButton = new Image(); bookButton.SetValue(Grid.RowProperty, 0); bookButton.HorizontalAlignment = HorizontalAlignment.Right; bookButton.Width = 20; bookButton.Height = 20; bookButton.Source = new BitmapImage(new Uri("/AppData/icon/book_black.ico", UriKind.RelativeOrAbsolute)); bookButton.MouseDown += ToBookRoom; grid.Children.Add(bookButton); } //日房价 Label daypricelabel = new Label(); daypricelabel.SetValue(Grid.RowProperty, 3); daypricelabel.Margin = new Thickness(0, -15, 0, 0); daypricelabel.FontSize = 10; daypricelabel.Content = "日单价"; grid.Children.Add(daypricelabel); Label daypricetextbox = new Label(); daypricetextbox.SetValue(Grid.RowProperty, 3); daypricetextbox.FontSize = 12; daypricetextbox.Width = 60; daypricetextbox.Height = 25; daypricetextbox.HorizontalAlignment = HorizontalAlignment.Left; daypricetextbox.Content = room.roomdayprice; grid.Children.Add(daypricetextbox); //每小时房价 Label hourpricelabel = new Label(); hourpricelabel.SetValue(Grid.RowProperty, 3); hourpricelabel.Margin = new Thickness(90, -15, 0, 0); hourpricelabel.FontSize = 10; hourpricelabel.Content = "时单价"; grid.Children.Add(hourpricelabel); Label hourpricetextbox = new Label(); hourpricetextbox.SetValue(Grid.RowProperty, 3); hourpricetextbox.FontSize = 12; hourpricetextbox.Width = 60; hourpricetextbox.Height = 25; hourpricetextbox.HorizontalAlignment = HorizontalAlignment.Right; hourpricetextbox.Content = room.roomhourprice; hourpricetextbox.HorizontalContentAlignment = HorizontalAlignment.Right; grid.Children.Add(hourpricetextbox); PUButton openroombutton = new PUButton(); openroombutton.SetValue(Grid.RowProperty, 4); openroombutton.Width = 80; openroombutton.Height = 25; openroombutton.BorderCornerRadius = new CornerRadius(5, 5, 5, 5); openroombutton.Background = Brushes.Gray; openroombutton.Margin = new Thickness(0, 0, 0, 10); openroombutton.VerticalContentAlignment = VerticalAlignment.Center; openroombutton.HorizontalContentAlignment = HorizontalAlignment.Center; openroombutton.Content = "Open"; openroombutton.Click += ToOpenRoom; grid.Children.Add(openroombutton); } //不为空房 if ((room.roomstate == 1 || room.roomstate == 2 || room.roomstate == 3) && finishtrans.Count() > 0) { Label roomopentype = new Label(); roomopentype.SetValue(Grid.RowProperty, 2); roomopentype.Width = 100; roomopentype.Height = 30; roomopentype.HorizontalAlignment = HorizontalAlignment.Center; roomopentype.VerticalAlignment = VerticalAlignment.Center; roomopentype.VerticalContentAlignment = VerticalAlignment.Center; roomopentype.HorizontalContentAlignment = HorizontalAlignment.Center; roomopentype.Content = finishtrans[0].opentype; grid.Children.Add(roomopentype); PUButton exitbutton = new PUButton(); exitbutton.SetValue(Grid.RowProperty, 4); exitbutton.Width = 80; exitbutton.Height = 25; exitbutton.BorderCornerRadius = new CornerRadius(5); exitbutton.Content = "退房"; exitbutton.Click += exitRoomClick; grid.Children.Add(exitbutton); } dockPanel.Children.Add(grid); border.Child = dockPanel; grid.DataContext = room; return(border); }