12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using System.Collections.Generic;
- using Terminal.Gui;
- namespace UICatalog.Scenarios {
- [ScenarioMetadata (Name: "ComboBoxIteration", Description: "ComboBox iteration.")]
- [ScenarioCategory ("Controls"), ScenarioCategory ("ComboBox")]
- public class ComboBoxIteration : Scenario {
- public override void Setup ()
- {
- var items = new List<string> () { "one", "two", "three" };
- var lbListView = new Label () {
- AutoSize = false,
- Width = 10,
- Height = 1
- };
- Win.Add (lbListView);
- var listview = new ListView (items) {
- Y = Pos.Bottom (lbListView) + 1,
- Width = 10,
- Height = Dim.Fill (2)
- };
- Win.Add (listview);
- var lbComboBox = new Label () {
- ColorScheme = Colors.ColorSchemes ["TopLevel"],
- X = Pos.Right (lbListView) + 1,
- Width = Dim.Percent (40)
- };
- var comboBox = new ComboBox () {
- X = Pos.Right (listview) + 1,
- Y = Pos.Bottom (lbListView) + 1,
- Height = Dim.Fill (2),
- Width = Dim.Percent (40),
- HideDropdownListOnClick = true
- };
- comboBox.SetSource (items);
- listview.SelectedItemChanged += (s,e) => {
- lbListView.Text = items [e.Item];
- comboBox.SelectedItem = e.Item;
- };
- comboBox.SelectedItemChanged += (object sender, ListViewItemEventArgs text) => {
- if (text.Item != -1) {
- lbComboBox.Text = text.Value.ToString ();
- listview.SelectedItem = text.Item;
- }
- };
- Win.Add (lbComboBox, comboBox);
- Win.Add (new TextField { X = Pos.Right (listview) + 1, Y = Pos.Top (comboBox) + 3, Height = 1, Width = 20 });
- var btnTwo = new Button ("Two") {
- X = Pos.Right (comboBox) + 1,
- };
- btnTwo.Clicked += (s,e) => {
- items = new List<string> () { "one", "two" };
- comboBox.SetSource (items);
- listview.SetSource (items);
- listview.SelectedItem = 0;
- };
- Win.Add (btnTwo);
- var btnThree = new Button ("Three") {
- X = Pos.Right (comboBox) + 1,
- Y = Pos.Top (comboBox)
- };
- btnThree.Clicked += (s,e) => {
- items = new List<string> () { "one", "two", "three" };
- comboBox.SetSource (items);
- listview.SetSource (items);
- listview.SelectedItem = 0;
- };
- Win.Add (btnThree);
- }
- }
- }
|