Windows application : DockPanel : Oprette et property panel ?
Jeg er igang med at lave et windows program, hvor jeg gerne vil lave noget der minder om VisualStudio's property paneldet skal ikke kunne flyttes rundt, men blot vises/opdateres når jeg vælger en item fra min canvas.
krav:
1. Property panelet skal have en fast bredde
2. panelet skal indeholde nogle dropdown boxe (hvis muligt)
3. panelet skal indeholde nogle text-felter
panelet skal justere ændringer på nogle objekter jeg har lavet - dvs ændre via GET/SET'ers
fx. Obj.name = "navn"
dropdowns skal bruges når jeg fx skal ændre properties på mit object, hvor der benyttes Enum's
// program: ///
public class MyWindow : Window{
Title = "Class Diagram Program.";
Background = new SolidColorBrush(Color.FromRgb(80, 80, 80));
canvas = new Canv();
dock = new DockPanel();
Content = dock;
#region Top Docked: MENU
if (true)
{
// Create menu.
menu = new Menu();
dock.Children.Add(menu);
DockPanel.SetDock(menu, Dock.Top);
#region "FILE" menu items
if (true)
{
MenuItem itemFile = new MenuItem();
itemFile.Header = "File";
menu.Items.Add(itemFile);
MenuItem FileNew = new MenuItem();
FileNew.Header = "_New";
FileNew.Click += MenuItemClick;
itemFile.Items.Add(FileNew);
MenuItem FileOpen = new MenuItem();
FileOpen.Header = "_Open";
FileOpen.Click += MenuItemClick;
itemFile.Items.Add(FileOpen);
MenuItem FileSave = new MenuItem();
FileSave.Header = "_Save";
FileSave.Click += MenuItemClick;
itemFile.Items.Add(FileSave);
MenuItem FileClose = new MenuItem();
FileClose.Header = "_Close";
FileClose.Click += MenuItemClick;
itemFile.Items.Add(FileClose);
}
#endregion
#region "EDIT" menu items
if (true)
{
MenuItem itemEdit = new MenuItem();
itemEdit.Header = "Edit";
menu.Items.Add(itemEdit);
MenuItem EditConnect = new MenuItem();
EditConnect.Header = "_Connect Classes";
EditConnect.Click += MenuItemClick;
itemEdit.Items.Add(EditConnect);
}
#endregion
}
#endregion
#region Bottom Docked: STATUSBAR
if (true)
{
// Create status bar.
status = new StatusBar();
StatusBarItem statitem = new StatusBarItem();
statitem.Content = "Status";
status.Items.Add(statitem);
// Dock status bar at bottom of panel.
DockPanel.SetDock(status, Dock.Bottom);
dock.Children.Add(status);
}
#endregion
#region Right Docked: PROPERTY PANEL
if (true)
{
StackPanel props = new StackPanel();
DockPanel.SetDock(props, Dock.Right);
dock.Children.Add(props);
}
#endregion
//default work area
dock.Children.Add(canvas);
}
