protected override void Init() { var dts = new MyDataTemplateSelector(); var listView = new ListView { ItemsSource = Enumerable.Range(0, 100), ItemTemplate = dts }; var layout = new StackLayout { Children = { listView } }; Content = layout; listView.ScrollTo(75, ScrollToPosition.MakeVisible, true); }
public void DataTemplateExtensionsCreateContent() { tlog.Debug(tag, $"DataTemplateExtensionsCreateContent START"); var testingTarget = new MyDataTemplateSelector(); try { DataTemplateExtensions.CreateContent(testingTarget, View.Property.STATE, new View()); } catch (Exception e) { tlog.Debug(tag, e.Message.ToString()); Assert.Fail("CreateContent Fail!"); } tlog.Debug(tag, $"DataTemplateExtensionsCreateContent END (OK)"); }
public void DataTemplateSelectorSelectTemplateWithNullLoadTemplate() { tlog.Debug(tag, $"DataTemplateSelectorSelectTemplateWithNullLoadTemplate START"); var testingTarget = new MyDataTemplateSelector(); try { DataTemplateExtensions.CreateContent(testingTarget, "Color", new View()); } catch (NotSupportedException e) { tlog.Debug(tag, e.Message.ToString()); tlog.Debug(tag, $"DataTemplateSelectorSelectTemplateWithNullLoadTemplate END (OK)"); Assert.Pass("Caught NotSupportedException: Pass!"); } tlog.Debug(tag, $"DataTemplateSelectorSelectTemplateWithNullLoadTemplate END (OK)"); }
public void ElementTemplateConstructorWithNullLoadTemplate() { tlog.Debug(tag, $"ElementTemplateConstructorWithNullLoadTemplate START"); try { var testingTarget = new MyDataTemplateSelector(); View view = new View() { Color = Color.Cyan, }; DataTemplateExtensions.CreateContent(testingTarget, View.Property.STATE, view); } catch (ArgumentNullException e) { tlog.Debug(tag, $"ElementTemplateConstructorWithNullLoadTemplate END (OK)"); tlog.Debug(tag, e.Message.ToString()); Assert.Pass("Caught ArgumentNullException: Pass!"); } }
public CarouselViewGalleryPage() { _items = EmptyItems; _selector = new MyDataTemplateSelector(); Func <ObservableCollection <Item> > itemsFactory = () => _items = new ObservableCollection <Item>() { new Baz(), new Poo(), new Foo(), new Bar(), }; _carouselView = new CarouselView { BackgroundColor = Color.Purple, ItemTemplate = _selector, Position = StartPosition }; _events = new Queue <string>(); _eventId = 0; _position = CreateValue($"{_carouselView.Position}", "Position"); _selectedItem = CreateValue("null", "SelectedItem"); _selectedPosition = CreateValue("null", "SelectedPosition"); _eventLog = CreateValue("", "EventLog"); _carouselView.ItemSelected += (s, o) => { var selectedItem = (Item)o.SelectedItem; var selectedItemId = selectedItem?.Id.ToString() ?? "null"; if (selectedItem != _carouselView.Item) { throw new Exception("CarouselView.Item != ItemSelected"); } _selectedItem.Text = $"{selectedItemId}"; OnEvent("i"); }; _carouselView.PositionSelected += (s, o) => { var selectedPosition = (int)o.SelectedPosition; if (_items != null && _items.Any() && _items[selectedPosition] != _carouselView.Item) { throw new Exception("CarouselView.Item != Items[selectedPosition]"); } _selectedPosition.Text = $"{selectedPosition}"; OnEvent("p"); }; BackgroundColor = Color.Blue; var moveBar = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Start, Children = { CreateButton("<<", "First", () => _carouselView.Position = 0), CreateButton("<", "Previous", () => { try { _carouselView.Position--; if (_items == EmptyItems) { UpdatePosition(); } } catch (ArgumentException) { OnEvent("e"); } }), CreateButton(">", "Next", () => { try { _carouselView.Position++; if (_items == EmptyItems) { UpdatePosition(); } } catch (ArgumentException) { OnEvent("e"); } }), CreateButton(">>", "Last", () => _carouselView.Position = _items.Count - 1) } }; var loadBar = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Start, Children = { CreateButton("Load", "Load", () => { try { _carouselView.ItemsSource = _items = itemsFactory(); } catch (ArgumentException) { OnEvent("e"); } }), CreateButton("Load0", "Load0", () => { try { _carouselView.ItemsSource = _items = EmptyItems; } catch (ArgumentException) { OnEvent("e"); } }), CreateButton("Clear", "Clear", () => { _items = null; _carouselView.ItemsSource = null; }), CreateButton("Add", "Add", () => { _items.Insert(0, new Moo()); }) } }; var statusBar = new StackLayout { Orientation = StackOrientation.Horizontal, Children = { CreateCopy("Pos:"), _position, CreateCopy("OnItemSel:"), _selectedItem, CreateCopy("OnPosSel:"), _selectedPosition, } }; var logBar = new StackLayout { Orientation = StackOrientation.Horizontal, Children = { _eventLog } }; Content = new StackLayout { Children = { _carouselView, moveBar, loadBar, statusBar, logBar } }; }
public MyUserControl() { Resources["MyDataTemplateSelector"] = new MyDataTemplateSelector(this); InitializeComponent(); }