本文整理汇总了C#中MonoTouch.Dialog.RootElement.Insert方法的典型用法代码示例。如果您正苦于以下问题:C# RootElement.Insert方法的具体用法?C# RootElement.Insert怎么用?C# RootElement.Insert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoTouch.Dialog.RootElement
的用法示例。
在下文中一共展示了RootElement.Insert方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadView
public override void LoadView ()
{
base.LoadView ();
var root = new RootElement ("TARP Banks");
var section = new Section ()
{
(usOnlyToggle = new BooleanElement("Show only US banks", false))
};
root.Add (section);
//make a section from the banks. Keep a reference to it
root.Add ((bankListSection = BuildBankSection (usOnlyToggle.Value)));
//if the toggle changes, reload the items
usOnlyToggle.ValueChanged += (sender, e) => {
var newListSection = BuildBankSection(usOnlyToggle.Value);
root.Remove(bankListSection, UITableViewRowAnimation.Fade);
root.Insert(1, UITableViewRowAnimation.Fade, newListSection);
bankListSection = newListSection;
};
Root = root;
}
示例2: CreateRootElement
private RootElement CreateRootElement()
{
var captionLabel = UIHelper.CreateLabel (
"cross copy",
true,
32,
32,
UITextAlignment.Center,
UIColor.Black
);
UILabel subcaptionLabel = UIHelper.CreateLabel (
WELCOME_LABEL_TEXT,
false,
14,
85,
UITextAlignment.Center,
lightTextColor
);
subcaptionLabel.Tag = 3;
captionLabel.Frame = new Rectangle (0, 10, 320, 40);
subcaptionLabel.Frame = new Rectangle (20, 55, 280, 100);
UIView header = new UIView (new Rectangle (0, 0, 300, 145));
header.AddSubviews (captionLabel, subcaptionLabel);
var root = new RootElement ("Secrets")
{
new Section (header),
(secretsSection = new Section ("Secrets")),
new Section ()
{
(secretEntry = new AdvancedEntryElement ("Secret", "enter new phrase", "", null))
}
};
secretsSection.AddAll (from s in AppDelegate.HistoryData.Secrets select (Element)CreateImageButtonStringElement (s));
secretEntry.AutocapitalizationType = UITextAutocapitalizationType.None;
secretEntry.ShouldReturn += delegate {
if (String.IsNullOrEmpty (secretEntry.Value))
return false;
var newSecret = new Secret (secretEntry.Value);
AppDelegate.HistoryData.Secrets.Add (newSecret);
if (root.Count == 2)
root.Insert (1, secretsSection);
secretsSection.Insert (
secretsSection.Elements.Count,
UITableViewRowAnimation.Fade,
CreateImageButtonStringElement (newSecret)
);
secretEntry.Value = "";
secretEntry.ResignFirstResponder (false);
DisplaySecretDetail (newSecret);
return true;
};
secretEntry.ReturnKeyType = UIReturnKeyType.Go;
if (secretsSection.Count == 0) {
secretEntry.BecomeFirstResponder (true);
root.RemoveAt (1);
}
return root;
}
示例3: RenderEditItem
private RootElement RenderEditItem(Item item, bool renderListInfo)
{
// get itemType for this item
ItemType itemType = null;
try
{
itemType = App.ViewModel.ItemTypes.Single(it => it.ID == item.ItemTypeID);
}
catch (Exception)
{
// if can't find the folder type, use the first
itemType = App.ViewModel.ItemTypes[0];
}
// render the primary fields
Section primarySection = RenderEditItemFields(item, itemType, true);
// HACK: insert a dummy element inside the primary section. This dummy element
// implements IElementSizing and returns a 0-sized cell (so it is invisible).
// This is to work around an issue in MT.Dialog where it doesn't honor IElementSizing
// on elements that are added after a dialog is already drawn. This element must be
// inserted after the first element but before the last element, to avoid losing the
// rounded rectangle look of the first and last elements of a Section.
if (primarySection.Count > 0)
primarySection.Insert(1, new DummyElement());
// render more button
var moreButton = new Button() { Background = "Images/darkgreybutton.png", Caption = "more details" };
var sse = new ButtonListElement() { Margin = 0f };
sse.Buttons.Add(moreButton);
var moreSection = new Section() { sse };
// render save/delete buttons
var actionButtons = new ButtonListElement()
{
//new Button() { Caption = "Save", Background = "Images/greenbutton.png", Clicked = SaveButton_Click },
new Button() { Caption = "Delete", Background = "Images/redbutton.png", Clicked = DeleteButton_Click },
};
actionButtons.Margin = 0f;
// create the dialog with the primary section
RootElement editRoot = new RootElement(item.Name)
{
primarySection,
moreSection,
new Section() { actionButtons },
};
moreButton.Clicked += (s, e) =>
{
// remove the "more" button
editRoot.Remove(moreSection);
// render the non-primary fields as a new section
editRoot.Insert(1, RenderEditItemFields(item, itemType, false));
// create a separate section with the advanced information (parent, type)
var advancedSection = new Section();
Field field = new Field() { Name = "ParentID", DisplayName = "List", DisplayType = DisplayTypes.Lists };
advancedSection.Add(RenderEditItemField(item, field));
field = new Field() { Name = "ItemTypeID", DisplayName = "Type", DisplayType = DisplayTypes.ItemTypes };
advancedSection.Add(RenderEditItemField(item, field));
editRoot.Insert(2, advancedSection);
};
return editRoot;
}
示例4: AddItems
private void AddItems(RootElement root, List<ChangesetModel> changes)
{
var sec = new Section();
changes.ForEach(x => {
var desc = (x.Message ?? "").Replace("\n", " ").Trim();
var el = new NameTimeStringElement { Name = x.Author, Time = (x.Utctimestamp), String = desc, Lines = 4 };
el.Tapped += () => NavigationController.PushViewController(new ChangesetInfoController(User, Slug, x.Node), true);
sec.Add(el);
});
if (sec.Count > 0)
{
InvokeOnMainThread(delegate {
root.Insert(root.Count - 1, sec);
});
}
}