private void PrintLog(string message) { if (!Log.Dispatcher.CheckAccess()) { this.Dispatcher.Invoke(new PrintLogDelegate(PrintLog), message); return; } Log.Items.Add(DateTime.Now.ToString("HH:mm:ss") + " " + message); try { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(Log); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } } catch { // 하단 내리기 실패. } }
/// <summary> /// A virtual function that is called when the selection is changed. Default behavior /// is to raise a SelectionChangedEvent /// </summary> /// <param name="e">The inputs for this event. Can be raised (default behavior) or processed /// in some other way.</param> protected override void OnSelectionChanged(SelectionChangedEventArgs e) { base.OnSelectionChanged(e); // In a single selection mode we want to move anchor to the selected element if (SelectionMode == SelectionMode.Single) { ItemInfo info = InternalSelectedInfo; ListBoxItem listItem = (info != null) ? info.Container as ListBoxItem : null; if (listItem != null) { UpdateAnchorAndActionItem(info); } } if (AutomationPeer.ListenerExists(AutomationEvents.SelectionPatternOnInvalidated) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementSelected) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementAddedToSelection) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection)) { ListBoxAutomationPeer peer = UIElementAutomationPeer.CreatePeerForElement(this) as ListBoxAutomationPeer; if (peer != null) { peer.RaiseSelectionEvents(e); } } }
public PlayerColumn(MainWindow mw) { InitializeComponent(); MW = mw; svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox_history); }
private void FireAsyncContentLoadedEventAtNewRecordAdded() { if (AutomationPeer.ListenerExists(AutomationEvents.AsyncContentLoaded)) { ListBoxAutomationPeer peer = UIElementAutomationPeer.FromElement(this.dgEvents) as ListBoxAutomationPeer; if (peer != null) { peer.RaiseAsyncContentLoadedEvent(new AsyncContentLoadedEventArgs(AsyncContentLoadedState.Completed, 100)); } } }
/// <summary> /// Posune listbox na konec. /// </summary> private void ScrollToBottom(ListBox lbProducts) { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lbProducts); if (VisualTreeHelper.GetChildrenCount(lbProducts) > 0) { Border border = (Border)VisualTreeHelper.GetChild(lbProducts, 0); ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0); scrollViewer.ScrollToBottom(); } }
// from https://stackoverflow.com/a/18305272 private void ListBoxScrollToBottom(ListBox listBox) { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(chatMessages); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }
public void AddLog(string log) { this.theListBox.Items.Add(log); ListBoxAutomationPeer listBoxAutomationPeer = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(this.theListBox); IScrollProvider pattern = (IScrollProvider)listBoxAutomationPeer.GetPattern(PatternInterface.Scroll); ScrollAmount scrollAmount = ScrollAmount.LargeIncrement; ScrollAmount scrollAmount1 = ScrollAmount.NoAmount; if (pattern.VerticallyScrollable) { pattern.Scroll(scrollAmount1, scrollAmount); } }
public static void ScrollToBottom(this ListBox source) { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(source); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); ScrollAmount scrollVertical = ScrollAmount.LargeIncrement; ScrollAmount scrollHorizontal = ScrollAmount.NoAmount; // If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }
private void HotReloadingPadControl_Loaded(object sender, RoutedEventArgs e) { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }
private void WriteResponseLine(string responseLine) { listBox_Responses.Items.Add(responseLine); ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox_Responses); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); ScrollAmount scrollVertical = ScrollAmount.LargeIncrement; ScrollAmount scrollHorizontal = ScrollAmount.NoAmount; if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }
protected override List <AutomationPeer> GetChildrenCore() { ListBox lb = OwnerListTimePickerPopup.ListBoxPart; if (lb != null) { // if possible, delegate to ListBox. ListBoxAutomationPeer peer = (ListBoxAutomationPeer)CreatePeerForElement(lb); return(peer.GetChildren()); } else { return(base.GetChildrenCore()); } }
/// <summary> /// Retrieves a UI Automation provider for each child element that is /// selected. /// </summary> /// <returns>An array of UI Automation providers.</returns> public IRawElementProviderSimple[] GetSelection() { ListBox lb = OwnerListTimePickerPopup.ListBoxPart; if (lb != null) { object selectedItem = lb.SelectedItem; if (selectedItem != null) { AutomationPeer peer = null; // check if the selecteditem is an UIElement UIElement uie = selectedItem as UIElement; if (uie != null) { peer = CreatePeerForElement(uie); } else { ListBoxAutomationPeer lbpeer = CreatePeerForElement(lb) as ListBoxAutomationPeer; if (lbpeer != null) { List <AutomationPeer> children = lbpeer.GetChildren(); if (children != null) { peer = children.FirstOrDefault(child => { // ISelectionItemProvider.IsSelected does not yet give the correct information ListBoxItemAutomationPeer listboxitemPeer = child as ListBoxItemAutomationPeer; if (listboxitemPeer != null) { ListBoxItem item = listboxitemPeer.Owner as ListBoxItem; return(item != null && item.DataContext.Equals(selectedItem)); } return(false); }); } } } // we only ever expect to return an array of one peer. if (peer != null) { return(new[] { ProviderFromPeer(peer) }); } } } return(new IRawElementProviderSimple[] { }); }
private void ConsoleLog_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { var listview = this.ConsoleBox; if (listview.Items.Count > 5) { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listview); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } } }
private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add) { ListBoxAutomationPeer svAutomation = ScrollViewerAutomationPeer.CreatePeerForElement(this.ListBox) as ListBoxAutomationPeer; IScrollProvider scrollInterface = svAutomation.GetPattern(PatternInterface.Scroll) as IScrollProvider; ScrollAmount scrollVertical = ScrollAmount.LargeIncrement; ScrollAmount scrollHorizontal = ScrollAmount.NoAmount; // If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface != null && scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } } }
static void EnsureVisible(ListBox listBox, int index) { listBox.Focus(); listBox.ScrollIntoView(listBox.Items[index]); listBox.UpdateLayout(); if (listBox.ItemContainerGenerator.ContainerFromIndex(index) == null) { ListBoxAutomationPeer peer = new ListBoxAutomationPeer(listBox); var scroll = peer.GetPattern(PatternInterface.Scroll) as IScrollProvider; scroll.SetScrollPercent(scroll.HorizontalScrollPercent, 0); listBox.UpdateLayout(); while (listBox.ItemContainerGenerator.ContainerFromIndex(index) == null) { scroll.Scroll(ScrollAmount.NoAmount, ScrollAmount.LargeIncrement); listBox.UpdateLayout(); } } }
public void EnsureVisible(int index) { Core.Focus(FocusState.Pointer); Core.ScrollIntoView(Core.Items[index]); Core.UpdateLayout(); if (Core.ContainerFromIndex(index) == null) { ListBoxAutomationPeer peer = new ListBoxAutomationPeer(Core); var scroll = peer.GetPattern(PatternInterface.Scroll) as IScrollProvider; scroll.SetScrollPercent(scroll.HorizontalScrollPercent, 0); Core.UpdateLayout(); while (Core.ContainerFromIndex(index) == null) { scroll.Scroll(ScrollAmount.NoAmount, ScrollAmount.LargeIncrement); Core.UpdateLayout(); } } }
public MainWindow() { InitializeComponent(); this.DataContext = new MainWindowViewModel(); ViewModel.Messages.CollectionChanged += (s, e) => { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lstMessages); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }; }
private void UpdateData(string strData) { if (strData == strFlag) { bRFIDConnected = true; btnCOMStart.IsEnabled = false; btnCOMStop.IsEnabled = true; lblStatus.Content = "Status: COM port opened. Reader mode changed to RFID scanning."; sr.Write("RFUFM,00\r"); tmrStatus.Start(); } if (strConfirmOK.Contains(strData)) { return; } strData = (iCounter++).ToString() + ": " + strData; lst.Items.Add(strData); if (lst.Items.Count > 0) { lst.SelectedIndex = lst.Items.Count - 1; // Auto scroll solution from this link >> http://stackoverflow.com/questions/2337822/wpf-listbox-scroll-to-end-automatically ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lst); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } } if (rdoManual.IsChecked == true) { lblStatus.Content = "Info: Press trigger to read tag."; } }
void AutoScroll() { try { ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lstview_anzeige); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } } catch (Exception ex) { log.ExLogger(ex); } }
/// <summary>Responds to a list box selection change by raising a <see cref="E:System.Windows.Controls.Primitives.Selector.SelectionChanged" /> event. </summary> /// <param name="e">Provides data for <see cref="T:System.Windows.Controls.SelectionChangedEventArgs" />. </param> // Token: 0x06005130 RID: 20784 RVA: 0x0016C274 File Offset: 0x0016A474 protected override void OnSelectionChanged(SelectionChangedEventArgs e) { base.OnSelectionChanged(e); if (this.SelectionMode == SelectionMode.Single) { ItemsControl.ItemInfo internalSelectedInfo = base.InternalSelectedInfo; ListBoxItem listBoxItem = (internalSelectedInfo != null) ? (internalSelectedInfo.Container as ListBoxItem) : null; if (listBoxItem != null) { this.UpdateAnchorAndActionItem(internalSelectedInfo); } } if (AutomationPeer.ListenerExists(AutomationEvents.SelectionPatternOnInvalidated) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementSelected) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementAddedToSelection) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection)) { ListBoxAutomationPeer listBoxAutomationPeer = UIElementAutomationPeer.CreatePeerForElement(this) as ListBoxAutomationPeer; if (listBoxAutomationPeer != null) { listBoxAutomationPeer.RaiseSelectionEvents(e); } } }
private void UpdateLog(string entry) { entry = DateTime.Now + " - " + entry; try { File.AppendAllLines(GetLogPath(), new string[] { entry }); } catch { } logListBox.Items.Add(entry); ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(logListBox); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }
private void demoMode() // DemoMode.DemoModeWindow demoModeWindow { #region unos učionice Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nI - Dodavanje učionice\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na dugme Dodaj učionicu u gornjem desnom uglu ekrana\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(dodajUcionicuDugme); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; peer.SetFocus(); invokeProv.Invoke(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje identifikatora učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Identificator); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo identifikator nove učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Identificator.Text = "L-52"; }); Thread.Sleep(2000); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje opisa učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Description); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo opis učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Description.Text = "Opis učionice"; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo broj radnika\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2500); Dispatcher.Invoke(() => { ClassroomForma.brojMijestaUpDown.Value = 3; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo operativni sistem\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ComboBoxAutomationPeer peer = new ComboBoxAutomationPeer(ClassroomForma.OperatingSystem); peer.SetFocus(); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Expand(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.OperatingSystem.SelectedIndex = 2; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ComboBoxAutomationPeer peer = new ComboBoxAutomationPeer(ClassroomForma.OperatingSystem); peer.SetFocus(); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Collapse(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo instalirani softver iz liste\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5500); Dispatcher.Invoke(() => { ListBoxAutomationPeer peer = new ListBoxAutomationPeer(ClassroomForma.SoftwaresList); peer.SetFocus(); ClassroomForma.SoftwaresList.SelectedIndex = 2; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.SoftwaresList.SelectedIndex = 4; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Označimo opremu koja postoji. Tablu nemamo, ali imamo projektor\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5500); Dispatcher.Invoke(() => { ClassroomForma.TableNeeded.IsChecked = false; ClassroomForma.ProjectorNeeded.IsChecked = true; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Potvrdimo unos\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); demoModeWindow.demoNumber = 0; }); Thread.Sleep(1000); Console.WriteLine("444444444444"); #endregion unos učionice #region pregled učionica Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nII Pregled učionica\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo meni Tabele\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniTabele); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Expand(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo stavku Učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniItemUcionice); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniItemUcionice); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; peer.SetFocus(); invokeProv.Invoke(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Sada vidimo tabelu sa učionicama" + " gdje možemo svaku od njih obrisati ili izmijeniti\n\n" + demoModeWindow.currentDemoDescription.Text; }); #endregion #region izmjena učionice Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nIII Izmjena učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Izmijenićemo jednu učionicu, klikom na dugme Izmijeni u prvom redu\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { this.ClassroomTabela.ClassroomsList.SelectedItem = 1; ClassroomHandler.Instance.SetSelectedClassroom(ClassroomTabela.Classrooms[0], (MainWindow)Window.GetWindow(this)); ((MainWindow)Window.GetWindow(this)).NovaUcionica_Show(); }); Thread.Sleep(4000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje opisa učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Description); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo novi opis učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Description.Text = "Novi opis za L-42"; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Izmijenimo postojeću opremu. Kupili smo pametnu tablu.\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5000); Dispatcher.Invoke(() => { ClassroomForma.SmartTableNeeded.IsChecked = true; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Potvrdimo unos.\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Nakon unosa ponovo vidimo prikaz svih učionica, te možemo vidjeti " + "da je njen identifikator izmijenjen.\n\n" + demoModeWindow.currentDemoDescription.Text; demoModeWindow.demoNumber = 0; }); Thread.Sleep(5000); #endregion #region brisanje učionice Dispatcher.Invoke(() => { demoModeWindow.demoNumber = 0; demoModeWindow.currentDemoDescription.Text = "\nIV Brisanje učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Obrisaćemo jednu učionicu, recimo prvu, klikom na dugme Obriši u prvom redu\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { this.ClassroomTabela.ClassroomsList.SelectedItem = 1; ClassroomHandler.Instance.SetSelectedClassroom(ClassroomTabela.Classrooms[0], (MainWindow)Window.GetWindow(this)); ClassroomHandler.Instance.Remove(ClassroomHandler.Instance.SelectedClassroom.Id, (MainWindow)Window.GetWindow(this)); }); Thread.Sleep(4000); #endregion }
private void NotifyUpdate() { var listingPeer = ListBoxAutomationPeer.FromElement(Master); listingPeer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged); }
private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { SemaphoreDataReceived.WaitOne(); SerialPort mySerialP = (SerialPort)sender; result = new List <byte>(); byte[] firstReadData = new byte[mySerialP.BytesToRead]; List <byte> metaData = new List <byte>(); List <byte> lastReceivedTranMsg = new List <byte>(); List <char> myMetaData = new List <char>(); mySerialP.Read(firstReadData, 0, firstReadData.Length); metaData.AddRange(firstReadData); string datas = System.Text.Encoding.UTF8.GetString(firstReadData); Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate() { textboxSP.Text += (datas) + "\n"; textboxSP.ScrollToEnd(); //hercul.listboxSP.SelectedIndex = hercul.listboxSP.Items.Count - 1; ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listboxSP); IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll); System.Windows.Automation.ScrollAmount scrollVertical = System.Windows.Automation.ScrollAmount.LargeIncrement; System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount; //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception. if (scrollInterface.VerticallyScrollable) { scrollInterface.Scroll(scrollHorizontal, scrollVertical); } }); int indexCounter = 0; for (int i = 0; i < metaData.Count; i++) { lastReceivedTranMsg = new List <byte>(); if (metaData.Contains((byte)CommandType.GainOffsetStart)) { if (metaData.Contains((byte)CommandType.GainOffsetEnd)) { int startIndex = metaData.IndexOf((byte)CommandType.StartingProtocol); int endIndex = metaData.IndexOf((byte)CommandType.EndOfProtocol); for (int j = startIndex + 1; j < metaData.Count; j++) { if (metaData[j] == (byte)CommandType.GainOffsetStart) { lastReceivedTranMsg.Clear(); continue; } else if (metaData[j] == (byte)CommandType.GainOffsetEnd) { Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate() { if (!Harf.Content.ToString().Contains(ByteArrayToString(lastReceivedTranMsg.ToArray()))) { Harf.Content = Harf.Content + " " + ByteArrayToString(lastReceivedTranMsg.ToArray()); } lastReceivedTranMsg.Clear(); }); } lastReceivedTranMsg.Add(metaData[j]); } } } if (metaData.Contains((byte)CommandType.StartingProtocol)) { if (metaData.Contains((byte)CommandType.EndOfProtocol)) { int startIndex = metaData.IndexOf((byte)CommandType.StartingProtocol); int endIndex = metaData.IndexOf((byte)CommandType.EndOfProtocol); if (startIndex < endIndex) { for (int j = startIndex; j < metaData.Count; j++) { indexCounter++; if (metaData[j] == (byte)CommandType.EndOfProtocol) { lastReceivedTranMsg.Add(metaData[j]); metaData.RemoveRange(0, startIndex + endIndex); break; } lastReceivedTranMsg.Add(metaData[j]); } myMetaData = System.Text.ASCIIEncoding.ASCII.GetChars(lastReceivedTranMsg.ToArray()).ToList(); string myStringValue = ""; for (int j = 1; j < myMetaData.Count - 1; j++) { myStringValue += myMetaData[j]; } mesuValue = (Convert.ToInt64(myStringValue)); this.Dispatcher.Invoke((Action)(() => { textlist.Add("" + mesuValue); listboxSP.Items.Add(textlist[textlist.Count - 1]); voltagePointCollection.Add(new VoltagePoint(mesuValue, DateTime.Now)); })); i += indexCounter; } else { metaData.RemoveRange(0, startIndex); byte[] secondReadData; do { secondReadData = new byte[mySerialP.BytesToRead]; mySerialP.Read(secondReadData, 0, secondReadData.Length); } while (!secondReadData.Contains((byte)CommandType.EndOfProtocol)); metaData.AddRange(secondReadData); for (int j = startIndex; j < metaData.Count; j++) { if (metaData[j] == (byte)CommandType.EndOfProtocol) { lastReceivedTranMsg.Add(metaData[j]); endIndex = metaData.IndexOf((byte)CommandType.EndOfProtocol); metaData.RemoveRange(0, startIndex + endIndex); break; } lastReceivedTranMsg.Add(metaData[j]); } myMetaData = System.Text.ASCIIEncoding.ASCII.GetChars(lastReceivedTranMsg.ToArray()).ToList(); string myStringValue = ""; for (int j = 0; j < myMetaData.Count - 1; j++) { myStringValue += myMetaData[j]; } mesuValue = (Convert.ToInt64(myStringValue)); this.Dispatcher.Invoke((Action)(() => { textlist.Add("" + mesuValue); listboxSP.Items.Add(textlist[textlist.Count - 1]); voltagePointCollection.Add(new VoltagePoint(mesuValue, DateTime.Now)); })); i += indexCounter; } } } } SemaphoreDataReceived.Release(); } catch (Exception ex) { try { SemaphoreDataReceived.Release(); } catch (Exception) { //throw; } //throw; } }