public MainWindow() { InitializeComponent(); // Load! if (KNUserDefaults.StandardUserDefaults().ObjectForKey("Keys") != null) { foreach (Dictionary <string, object> dict in (ArrayList)KNUserDefaults.StandardUserDefaults().ObjectForKey("Keys")) { keys.Add(new UpdateSigningKey(dict)); } } KNTableView keyTable = new KNTableView(); keyTable.CornerCell = new KNLeopardCornerCell(); KNCell cell = new KNTextCell(); ((KNTextCell)cell).IsEditable = true; KNTableColumnDelegate del = null; KNHeaderCell header = new KNLeopardStyleHeaderCell("Name", false, true, System.Drawing.StringAlignment.Near); KNTableColumn col = new KNTableColumn("name", ref cell, ref header, ref del); col.Width = (int)KeyListHost.Width; keyTable.AddColumn(col); keyTable.TableDelegate = this; keyTable.DataSource = this; keyTable.AlternatingRowBackgrounds = true; keyTable.CellPerformedAction += Action; keyTable.SelectionChanged += TableSelectionChanged; KeyListHost.Child = keyTable; KNLeopardStyleHeaderButton button = new KNLeopardStyleHeaderButton(); button.Enabled = false; ButtonBarHost.Child = button; SUUpdater updater = SUUpdater.SharedUpdater(); this.AddObserverToKeyPathWithOptions(this, "SelectedKey", KNKeyValueObservingOptions.KNKeyValueObservingOptionInitial, null); }
public KNTableColumn(string anIdentifier, string aTitle, KNCell aDataCell, KNTableColumnDelegate aDelegate) { ClipToBounds = true; activeCells = new Dictionary<int, KNCell>(); cellCache = new ArrayList(); sortPriority = SortPriority.NotUsed; sortDirection = SortDirection.Ascending; if (aDataCell != null) { dataCell = aDataCell; } else { dataCell = new KNTextCell(); } minSize = 100; maxSize = 2000; Width = 100; userResizable = true; HeaderCell = new KNHeaderCell(); headerCell.Column = this; del = aDelegate; if (anIdentifier != null) { identifier = anIdentifier; } else { identifier = ""; } KNActionCellDependencyProperty.SetDelegate((DependencyObject)headerCell, this); if (aTitle != null) { KNCellDependencyProperty.SetObjectValue((DependencyObject)headerCell, aTitle); } else { KNCellDependencyProperty.SetObjectValue((DependencyObject)headerCell, "Column Title"); } this.AddObserverToKeyPathWithOptions(this, "VerticalOffset", 0, null); this.AddObserverToKeyPathWithOptions(this, "RowHeight", 0, null); this.AddObserverToKeyPathWithOptions(this, "DataCell", 0, null); LayoutCompletely(); }