public void show(MainWindow con, ListBox lb, string kto, string text, int tem)
        {
            if (!lb.CheckAccess())
            {
                con.Dispatcher.Invoke(DispatcherPriority.Send,
                (Action)delegate
                {
                    UserWiad itm = new UserWiad();
                    itm.Nick = kto;
                    itm.Wiad = text;
                    itm.Typ = tem;
                    lb.Items.Add(itm);
                    lb.ScrollIntoView(itm);
                });
            }
            else
            {
                UserWiad itm = new UserWiad();
                itm.Nick = kto;
                itm.Wiad = text;
                itm.Typ = tem;
                lb.Items.Add(itm);

                lb.ScrollIntoView(itm);
            }
        }
Example #2
0
        void Target_Loaded(object sender, RoutedEventArgs e)
        {
            if (Target.Items.Count > 0)
            {
                Target.ScrollIntoView(Target.Items[Target.Items.Count - 1]);
            }

            Target.IsVisibleChanged += new DependencyPropertyChangedEventHandler(Target_IsVisibleChanged);
        }
 public void ClickPrev()
 {
     FlagPrev  = false;
     OldNumber = CurrentPlayIndex;
     if (CurrentPlayIndex == 0)
     {
         CurrentPlayIndex = CurrentListBox.Items.Count - 1;
     }
     else
     {
         CurrentPlayIndex = CurrentPlayIndex - 1;
     }
     CurrentListBox.ScrollIntoView(CurrentListBox.Items[CurrentPlayIndex]);
     Play(CurrentListBox);
 }
 /// <summary>
 /// This method will be called when the ListBox should
 /// be scrolled to the given index
 /// </summary>
 /// <param name="listBox">The ListBox which should be scrolled</param>
 /// <param name="index">The index of the item to which it should be scrolled</param>
 public static void OnAutoScrollToCurrentItem(ListBox listBox, int index)
 {
   if (listBox != null && listBox.Items != null && listBox.Items.Count > index && index >= 0)
   {
     listBox.ScrollIntoView(listBox.Items[index]);
   }
 }
 public void SelectionChanged(ListBox sender)
 {
     SelectedJumpers = new BindableCollection <Jumper>(sender.SelectedItems.Cast <Jumper>());
     if (SelectedJumpers.Count == 1)
     {
         sender.ScrollIntoView(sender.SelectedItem);
     }
 }
 private void AddNewFileType(ListBox control) {
     ICollection<FileTypeEntry> source = (ICollection<FileTypeEntry>)control.ItemsSource;
     FileTypeEntry item = new FileTypeEntry(this, "");
     source.Add(item);
     control.SelectedItem = item;
     control.ScrollIntoView(item);
     control.Focus();
     item.IsEditing = true;
 }
Example #7
0
        private bool SelectListItem(System.Windows.Controls.ListBox list, object value)
        {
            ItemCollection itemList = list.Items;

            // Perform a binary search for the item.
            int first = 0;
            int limit = itemList.Count;

            while (first < limit)
            {
                int         i          = first + (limit - first) / 2;
                IComparable item       = (IComparable)(itemList[i]);
                int         comparison = item.CompareTo(value);
                if (comparison < 0)
                {
                    // Value must be after i
                    first = i + 1;
                }
                else if (comparison > 0)
                {
                    // Value must be before i
                    limit = i;
                }
                else
                {
                    // Exact match; select the item.
                    list.SelectedIndex = i;
                    itemList.MoveCurrentToPosition(i);
                    list.ScrollIntoView(itemList[i]);
                    return(true);
                }
            }

            // Not an exact match; move current position to the nearest item but don't select it.
            if (itemList.Count > 0)
            {
                int i = Math.Min(first, itemList.Count - 1);
                itemList.MoveCurrentToPosition(i);
                list.ScrollIntoView(itemList[i]);
            }

            return(false);
        }
Example #8
0
        void Collection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action != NotifyCollectionChangedAction.Add || e.NewItems == null || e.NewItems.Count < 1)
            {
                return;
            }

            // Technique FindScroll
            Border scroll_border = VisualTreeHelper.GetChild(Target, 0) as Border;

            if (scroll_border is Border)
            {
                ScrollViewer scroll = scroll_border.Child as ScrollViewer;
                if (scroll is ScrollViewer)
                {
                    scroll.ScrollToBottom();
                    return;
                }
            }
            // Si jamais ca ne fonctionne, on prend cette méthode la.
            Target.ScrollIntoView(e.NewItems[e.NewItems.Count - 1]);
        }
Example #9
0
        private void SelectItem(ListBox listBox)
        {
            foreach (var item in listBox.Items)
            {
                if ((((KeyValuePair<string, string>)item).Key) == _textBox.Text)
                {
                    listBox.SelectedItem = item;
                    listBox.ScrollIntoView(listBox.SelectedItem);
                    listBox.Focus();

                    break;
                }
            }
        }
Example #10
0
        private bool ListBoxMoveSelectedDown(ListBox list)
        {
            if (list.Items.Count > 0 && list.SelectedIndex < (list.Items.Count - 1))
            {
                int selected_index = list.SelectedIndex;
                var saved = list.Items[selected_index];
                list.Items[selected_index] = list.Items[selected_index + 1];
                list.Items[selected_index + 1] = saved;
                list.SelectedIndex = selected_index + 1;

                list.ScrollIntoView(list.Items[selected_index + 1]);
                return true;
            }

            return false;
        }
Example #11
0
        private bool ListBoxRemoveSelected(ListBox list)
        {
            if (list.Items.Count > 0 && list.SelectedIndex >= 0)
            {
                int selected = list.SelectedIndex;
                list.Items.RemoveAt(selected);

                if (list.Items.Count > selected)
                    list.SelectedIndex = selected;
                else
                    list.SelectedIndex = (list.Items.Count - 1);

                if (list.SelectedIndex > -1)
                    list.ScrollIntoView(list.Items[list.SelectedIndex]);

                return true;
            }

            return false;
        }
 /// <summary>
 /// This method will be called when the ListBox should
 /// be scrolled to the end
 /// </summary>
 /// <param name="listBox">The ListBox which should be scrolled</param>
 public static void OnAutoScrollToNewItem( ListBox listBox )
 {
     if( listBox != null && listBox.Items != null && listBox.Items.Count > 0 && listBox.SelectedItem == listBox.Items[0] )
         listBox.ScrollIntoView( listBox.Items[listBox.Items.Count - 1] );
 }
Example #13
0
        public static void UpdateLayout(ListBox item, bool isfirst)
        {
            try
            {
                item.UpdateLayout();

                if (isfirst)
                    item.ScrollIntoView(item.Items.First());
                else
                    item.ScrollIntoView(item.Items.Last());

                item.UpdateLayout();
            }
            catch (Exception ex)
            {
                //BugSenseHandler.Instance.SendExceptionAsync(ex);

                //MessageBox.Show(ex.Message);
            }
        }
Example #14
0
            public Capture(ListBox listBox)
            {
                this.listBox = listBox;
                incc = listBox.ItemsSource as INotifyCollectionChanged;
                if (incc != null)
                {
                    incc.CollectionChanged += incc_CollectionChanged;

                    if (listBox.Items.Count > 0)
                    {
                        var scrollViewer = GetDescendantByType(listBox, typeof(ScrollViewer)) as ScrollViewer;
                        if (scrollViewer.ScrollableHeight < scrollViewer.VerticalOffset + 50)
                        {
                            listBox.ScrollIntoView(listBox.Items[listBox.Items.Count - 1]);
                            listBox.SelectedItem = listBox.Items[listBox.Items.Count - 1];
                        }
                    }
                }
            }
Example #15
0
 void MoveListPosition(ListBox listBox, int distance)
 {
     int i = listBox.Items.CurrentPosition + distance;
     if (i >= 0 && i < listBox.Items.Count)
     {
         listBox.Items.MoveCurrentToPosition(i);
         listBox.SelectedIndex = i;
         listBox.ScrollIntoView(listBox.Items[i]);
     }
 }
Example #16
0
 bool Select(ListBox list, object item)
 {
     try
       {
     if (item == null)
       return false;
     list.SelectedItem = item;
     list.ScrollIntoView(item);
     return true;
       }
       catch
       {
     return false;
       }
 }
Example #17
0
 private void AddLogItem(ListBox listbox, string log)
 {
     listbox.Items.Add(log);
     listbox.ScrollIntoView(listbox.Items.GetItemAt(listbox.Items.Count - 1));
 }
        void ShowListBox(object sender, int count)
        {
            //int line = 0;
            //try {
                if (listBox == null)
                {
                    listBox = new ListBox();
                    if (count >= 5) { ScrollViewer.SetVerticalScrollBarVisibility(listBox, ScrollBarVisibility.Visible); }
                    listBox.SelectionChanged += (s, e) =>
                    {
                        if (listBox.SelectedItem != null && listBox.Items.Contains(listBox.SelectedItem))
                        {
                            try
                            {
                                listBox.ScrollIntoView(listBox.SelectedItem);
                            }
                            catch { }
                        }
                    };
                    listBox.MinWidth = textBox.RenderSize.Width;

                    ArmoryLoadDialog dialog = (ArmoryLoadDialog)sender;

                    //var canvas = (Grid)System.Windows.Application.Current.RootVisual;
                    var canvas = (Grid)dialog.LayoutRoot;
                    var transform = textBox.TransformToVisual(canvas);
                    var topLeft = transform.Transform(new Point(0, 0));

                    Canvas.SetLeft(listBox, topLeft.X);
                    Canvas.SetTop(listBox, topLeft.Y + textBox.RenderSize.Height);
                    canvas.Children.Add(listBox);
                }

                if (count >= 5)
                {
                    count = 5;
                }
                listBox.MaxHeight = count * 21;
            //} catch (Exception ex) {
                //new Rawr.DPSWarr.ErrorBoxDPSWarr("AutoComplete issue", ex.Message, "ShowListBox", "No Additional Info", ex.StackTrace, line);
            //}
        }
Example #19
0
        /// <summary>アイテムを上下に一つ移動</summary>
        public bool bxMoveItems(ListBox box, int direction, IList boxItemsSource = null)
        {
            try
            {
                if (box == null || box.SelectedIndex < 0) return false;

                var boxItems = boxItemsSource ?? box.Items;
                var selected = box.SelectedItemsList();//連続移動の視点固定のため順番保持
                int iCount = boxItems.Count;//固定
                var r = direction >= 0 ? (Func<int, int>)(i => iCount - 1 - i) : (i => i);

                for (int i = 0; i < boxItems.Count; i++)
                {
                    var item = boxItems[r(i)];
                    if (box.SelectedItems.Contains(item) == true)
                    {
                        boxItems.RemoveAt(r(i));
                        boxItems.Insert(r((i + iCount - 1) % iCount), item);
                        if (i == 0) break;
                    }
                }

                box.UnselectAll();
                TargetBoxItemsRefresh(box, boxItemsSource);
                box.SelectedItemsAdd(selected);
                box.ScrollIntoView(direction < 0 ? selected[0] : selected.Last());
            }
            catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }
            return true;
        }
 static void ScrollListBoxItemIntoView(ListBox listBox, object item)
 {
     listBox.ScrollIntoView(item);
 }
Example #21
0
        public void Initialize()
        {
            try
            {
                double aspectRatio = Math.Round((double)ClientGameEngine.Get().ClientDimensions.Width / (double)ClientGameEngine.Get().ClientDimensions.Height, 2, MidpointRounding.AwayFromZero);

                string UIComponentPath = "resources\\UI\\PreGameLobby\\";
                string ratioPath = string.Empty;

                if (aspectRatio == 1.33)
                    ratioPath = "4x3\\";
                else
                    ratioPath = "16x9\\";

                //background
                BitmapImage bitmapImage = new BitmapImage();
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + ratioPath + "Background.png", UriKind.RelativeOrAbsolute));
                m_BackgroundBrush = new ImageBrush(bitmapImage);

                ClientGameEngine.Get().AllPlayersReady.ValueChanged += (from, to) =>
                {
                    if (to)
                    {
                        Action action = () =>
                        {
                            m_StartEnabledImage.Visibility = Visibility.Visible;
                            m_StartEnabledImage.IsEnabled = true;
                            m_StartDisabledImage.Visibility = Visibility.Hidden;
                        };
                        ClientGameEngine.Get().ExecuteOnUIThread(action);
                    }
                    else
                    {
                        Action action = () =>
                        {
                            m_StartDisabledImage.Visibility = Visibility.Visible;
                            m_StartEnabledImage.IsEnabled = false;
                            m_StartEnabledImage.Visibility = Visibility.Hidden;
                        };
                        ClientGameEngine.Get().ExecuteOnUIThread(action);
                    }
                };

                //Chat Text Box
                m_ChatMessageBox = new TextBox();
                m_ChatMessageBox.Opacity = 0.75;
                m_ChatMessageBox.FontFamily = new FontFamily("Papyrus");
                m_ChatMessageBox.FontSize = 18;
                m_ChatMessageBox.KeyDown += (s, ev) =>
                {
                    if (ev.Key == Key.Enter)
                    {
                        if (m_ChatMessageBox.Text.Trim() != string.Empty)
                        {
                            GameChatMessage chat = new GameChatMessage() { Contents = m_ChatMessageBox.Text.Trim() };
                            m_ChatMessageBox.Text = "";
                            ClientGameEngine.Get().SendMessageToServer(chat);
                        }
                    }
                };

                //Chat Message OK
                m_SendButton = new Button();
                m_SendButton.FontFamily = new FontFamily("Papyrus");
                m_SendButton.FontSize = 18;
                m_SendButton.Content = "Send";
                m_SendButton.Click += (s, ev) =>
                {
                    if (m_ChatMessageBox.Text.Trim() != string.Empty)
                    {
                        GameChatMessage chat = new GameChatMessage() { Contents = m_ChatMessageBox.Text.Trim() };
                        m_ChatMessageBox.Text = "";
                        ClientGameEngine.Get().SendMessageToServer(chat);
                    }
                };

                //Chat messages
                m_ChatMessagesListBox = new ListBox();
                m_ChatMessagesListBox.ItemsSource = ClientGameEngine.Get().ChatMessageCollection;
                m_ChatMessagesListBox.Opacity = 0.75;
                m_ChatMessagesListBox.FontFamily = new FontFamily("Papyrus");
                m_ChatMessagesListBox.FontSize = 14;
                ClientGameEngine.Get().ChatMessageCollection.CollectionChanged += (s, ev) =>
                {
                    if (ev.NewItems != null)
                    {
                        m_ChatMessagesListBox.ScrollIntoView(ev.NewItems[0]);
                    }
                };

                //StartEnabled
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "Start.png", UriKind.RelativeOrAbsolute));
                m_StartEnabledImage = new Image();
                m_StartEnabledImage.Source = bitmapImage;
                m_StartEnabledImage.Width = bitmapImage.PixelWidth;
                m_StartEnabledImage.Height = bitmapImage.PixelHeight;
                m_StartEnabledImage.Visibility = Visibility.Hidden;
                m_StartEnabledImage.IsEnabled = false;
                m_StartEnabledImage.Name = "StartEnabled";
                m_StartEnabledImage.MouseEnter += MenuOptionHover;
                m_StartEnabledImage.MouseLeave += MenuOptionHoverLost;
                m_StartEnabledImage.MouseDown += MenuOptionMouseDown;
                m_StartEnabledImage.MouseUp += MenuOptionMouseUp;

                //StartDisabled
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "StartFade.png", UriKind.RelativeOrAbsolute));
                m_StartDisabledImage = new Image();
                m_StartDisabledImage.Source = bitmapImage;
                m_StartDisabledImage.Width = bitmapImage.PixelWidth;
                m_StartDisabledImage.Height = bitmapImage.PixelHeight;
                m_StartDisabledImage.Visibility = Visibility.Visible;
                m_StartDisabledImage.Name = "StartDisabled";
                //m_StartDisabledImage.MouseEnter += MenuOptionHover;
                //m_StartDisabledImage.MouseLeave += MenuOptionHoverLost;
                //m_StartDisabledImage.MouseDown += MenuOptionMouseDown;
                //m_StartDisabledImage.MouseUp += MenuOptionMouseUp;

                //LeaveEnabled
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "Leave.png", UriKind.RelativeOrAbsolute));
                m_LeaveEnabledImage = new Image();
                m_LeaveEnabledImage.Source = bitmapImage;
                m_LeaveEnabledImage.Width = bitmapImage.PixelWidth;
                m_LeaveEnabledImage.Height = bitmapImage.PixelHeight;
                m_LeaveEnabledImage.Visibility = System.Windows.Visibility.Visible;
                m_LeaveEnabledImage.Name = "LeaveEnabled";
                m_LeaveEnabledImage.MouseEnter += MenuOptionHover;
                m_LeaveEnabledImage.MouseLeave += MenuOptionHoverLost;
                m_LeaveEnabledImage.MouseDown += MenuOptionMouseDown;
                m_LeaveEnabledImage.MouseUp += MenuOptionMouseUp;

                //LeaveDisabled
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "LeaveFade.png", UriKind.RelativeOrAbsolute));
                m_LeaveDisabledImage = new Image();
                m_LeaveDisabledImage.Source = bitmapImage;
                m_LeaveDisabledImage.Width = bitmapImage.PixelWidth;
                m_LeaveDisabledImage.Height = bitmapImage.PixelHeight;
                m_LeaveDisabledImage.Visibility = System.Windows.Visibility.Hidden;
                m_LeaveDisabledImage.Name = "LeaveDisabled";
                //m_LeaveDisabledImage.MouseEnter += MenuOptionHover;
                //m_LeaveDisabledImage.MouseLeave += MenuOptionHoverLost;
                //m_LeaveDisabledImage.MouseDown += MenuOptionMouseDown;
                //m_LeaveDisabledImage.MouseUp += MenuOptionMouseUp;

                //Ready
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "Ready.png", UriKind.RelativeOrAbsolute));
                m_ReadyImage = new Image();
                m_ReadyImage.Source = bitmapImage;
                m_ReadyImage.Width = bitmapImage.PixelWidth;
                m_ReadyImage.Height = bitmapImage.PixelHeight;
                m_ReadyImage.Visibility = System.Windows.Visibility.Hidden;
                m_ReadyImage.Name = "Ready";
                m_ReadyImage.MouseEnter += MenuOptionHover;
                m_ReadyImage.MouseLeave += MenuOptionHoverLost;
                m_ReadyImage.MouseDown += MenuOptionMouseDown;
                m_ReadyImage.MouseUp += MenuOptionMouseUp;

                //NotReady
                bitmapImage = new BitmapImage(new Uri(UIComponentPath + "NotReady.png", UriKind.RelativeOrAbsolute));
                m_NotReadyImage = new Image();
                m_NotReadyImage.Source = bitmapImage;
                m_NotReadyImage.Width = bitmapImage.PixelWidth;
                m_NotReadyImage.Height = bitmapImage.PixelHeight;
                m_NotReadyImage.Visibility = System.Windows.Visibility.Hidden;
                m_NotReadyImage.Name = "NotReady";
                m_NotReadyImage.MouseEnter += MenuOptionHover;
                m_NotReadyImage.MouseLeave += MenuOptionHoverLost;
                m_NotReadyImage.MouseDown += MenuOptionMouseDown;
                m_NotReadyImage.MouseUp += MenuOptionMouseUp;

                //Player list
                m_PlayerListView = new ListView();
                m_PlayerListView.Opacity = 0.75;

                m_PlayerGridView = new GridView();
                m_PlayerGridView.AllowsColumnReorder = false;

                m_ReadyColumn = new GridViewColumn();
                m_ReadyColumn.DisplayMemberBinding = new Binding("IsReady");
                m_ReadyColumn.Header = "Ready";
                m_PlayerGridView.Columns.Add(m_ReadyColumn);

                m_NameColumn = new GridViewColumn();
                m_NameColumn.DisplayMemberBinding = new Binding("Name");
                m_NameColumn.Header = "Name";
                m_PlayerGridView.Columns.Add(m_NameColumn);

                m_PlayerListView.View = m_PlayerGridView;
                m_PlayerListView.ItemsSource = ClientGameEngine.Get().PlayerCollection;

                // Chat messages
                m_ChatMessagesListBox.Opacity = 0.75;
                m_ChatMessagesListBox.FontFamily = new FontFamily("Papyrus");
                m_ChatMessagesListBox.FontSize = 14;

                //Army selection buttons
                //Undead Army
                m_UndeadArmyButton = new Button();
                m_UndeadArmyButton.FontFamily = new FontFamily("Papyrus");
                m_UndeadArmyButton.FontSize = 18;
                m_UndeadArmyButton.Content = "Undead Army";
                m_UndeadArmyButton.Click += (s, ev) =>
                {
                    m_CurrentArmyLabel.Content = "Undead Selected";
                    if (!m_NotReadyImage.IsVisible)
                    {
                        m_NotReadyImage.Visibility = Visibility.Hidden;
                        m_ReadyImage.Visibility = Visibility.Visible;
                    }
                    m_PlayerReadyMessage.ArmyType = Framework.Unit.Army.ArmyTypeEnum.Undead;
                };

                //Alliance Army
                m_AllianceArmyButton = new Button();
                m_AllianceArmyButton.FontFamily = new FontFamily("Papyrus");
                m_AllianceArmyButton.FontSize = 18;
                m_AllianceArmyButton.Content = "Alliance Army";
                m_AllianceArmyButton.Click += (s, ev) =>
                {
                    m_CurrentArmyLabel.Content = "Alliance Selected";
                    if (!m_NotReadyImage.IsVisible)
                    {
                        m_NotReadyImage.Visibility = Visibility.Hidden;
                        m_ReadyImage.Visibility = Visibility.Visible;
                    }
                    m_PlayerReadyMessage.ArmyType = Framework.Unit.Army.ArmyTypeEnum.Alliance;
                };

                //Beast Army
                m_BeastArmyButton = new Button();
                m_BeastArmyButton.FontFamily = new FontFamily("Papyrus");
                m_BeastArmyButton.FontSize = 18;
                m_BeastArmyButton.Content = "Beast Army";
                m_BeastArmyButton.Click += (s, ev) =>
                {
                    m_CurrentArmyLabel.Content = "Beasts Selected";
                    if (!m_NotReadyImage.IsVisible)
                    {
                        m_NotReadyImage.Visibility = Visibility.Hidden;
                        m_ReadyImage.Visibility = Visibility.Visible;
                    }
                    m_PlayerReadyMessage.ArmyType = Framework.Unit.Army.ArmyTypeEnum.Beast;
                };

                //Placeholder Army selected label
                m_CurrentArmyLabel = new Label();
                m_CurrentArmyLabel.Content = "No Army Selected";

                m_PlayerReadyMessage = new PlayerReadyMessage();

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #22
0
        public void Initialize()
        {
            InGameEngine.InGameEngine.Get();

            //Chat Text Box
            m_ChatMessageBox = new TextBox();
            m_ChatMessageBox.Opacity = 0.75;
            m_ChatMessageBox.FontFamily = new FontFamily("Papyrus");
            m_ChatMessageBox.FontSize = 12;
            m_ChatMessageBox.KeyDown += (s, ev) =>
            {
                if (ev.Key == Key.Enter)
                {
                    if (m_ChatMessageBox.Text.Trim() != string.Empty)
                    {
                        GameChatMessage chat = new GameChatMessage() { Contents = m_ChatMessageBox.Text.Trim() };
                        m_ChatMessageBox.Text = "";
                        ClientGameEngine.Get().SendMessageToServer(chat);
                    }
                }
            };

             			m_EndTurnButton = new Button { FontFamily = new FontFamily("Papyrus"), FontSize = 18, Content = "End Turn" };
            m_EndTurnButton.Click += (s, ev) =>
            {
                if (InGameEngine.InGameEngine.Get().MoveList.Count > 0)
                {
                    ClientGameEngine.Get().SendMessageToServer((new EndMoveTurnMessage() { Moves = InGameEngine.InGameEngine.Get().MoveList }));
                }
            };

            m_UITopImage = new Image();
            BitmapImage bimg = new BitmapImage(new Uri(@"resources\UI\Game\TopBar.png", UriKind.RelativeOrAbsolute));
            m_UITopImage.Source = bimg;
            m_UITopImage.Width = bimg.PixelWidth;
            m_UITopImage.Height = bimg.PixelHeight;

            m_UILeftImage = new Image();
            bimg = new BitmapImage(new Uri(@"resources\UI\Game\LeftBar.png", UriKind.RelativeOrAbsolute));
            m_UILeftImage.Source = bimg;
            m_UILeftImage.Width = bimg.PixelWidth;
            m_UILeftImage.Height = bimg.PixelHeight;

            m_UIRightImage = new Image();
            bimg = new BitmapImage(new Uri(@"resources\UI\Game\RightBar.png", UriKind.RelativeOrAbsolute));
            m_UIRightImage.Source = bimg;
            m_UIRightImage.Width = bimg.PixelWidth;
            m_UIRightImage.Height = bimg.PixelHeight;

            m_UIBottomImage = new Image();
            bimg = new BitmapImage(new Uri(@"resources\UI\Game\BottomBar.png", UriKind.RelativeOrAbsolute));
            m_UIBottomImage.Source = bimg;
            m_UIBottomImage.Width = bimg.PixelWidth;
            m_UIBottomImage.Height = bimg.PixelHeight;

            //Menu Button
            m_MenuButton = new Button();
            m_MenuButton.FontFamily = new FontFamily("Papyrus");
            m_MenuButton.FontSize = 18;
            m_MenuButton.Content = "Menu";
            m_MenuButton.Click += (s, ev) =>
            {

            };

            //Chat messages
            m_ChatMessagesListBox = new ListBox();
            m_ChatMessagesListBox.ItemsSource = ClientGameEngine.Get().ChatMessageCollection;
            m_ChatMessagesListBox.Opacity = 0.75;
            m_ChatMessagesListBox.FontFamily = new FontFamily("Papyrus");
            m_ChatMessagesListBox.FontSize = 12;
            ClientGameEngine.Get().ChatMessageCollection.CollectionChanged += (s, ev) =>
            {
                if (ev.NewItems != null)
                {
                    m_ChatMessagesListBox.ScrollIntoView(ev.NewItems[0]);
                }
            };

            //unit stats
            m_UnitStatsGroupBox = new GroupBox();
            m_UnitStatsGroupBox.Opacity = 0.75;
            m_UnitStatsGroupBox.FontFamily = new FontFamily("Papyrus");
            m_UnitStatsGroupBox.FontSize = 12;
        }
Example #23
0
 private static void RefreshListAsync(TextBox textBox, ListBox listBox, string word, PrefixDictionary<KeyValuePair<string, object>[]> dict, Action callback, StringComparison comparison)
 {
     var matches = dict.Search(word, false).Select(found => found.Value).SelectMany(found => found).ToList();
     listBox.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate{
         var ev = (QueryCandidatesEventHandler)textBox.GetValue(QueryCandidatesProperty);
         if(ev != null){
             var e = new QueryCandidatesEventArgs(word);
             foreach(var del in ev.GetInvocationList()){
                 del.DynamicInvoke(new object[]{textBox, e});
                 if(e.Candidates != null){
                     matches.AddRange(e.Candidates);
                 }
             }
         }
     }));
     listBox.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(delegate{
         bool isIns = GetIsInsertAutomatically(textBox);
         listBox.ItemsSource = null;
         listBox.ItemsSource = matches.ToArray();
         SetState(listBox, new AutoCompleteState(){TextBox = textBox});
         listBox.SelectionChanged -= ListBox_SelectionChanged;
         if(isIns){
             listBox.SelectionChanged += ListBox_SelectionChanged;
         }
         if(listBox.Items.Count > 0){
             listBox.SelectedIndex = 0;
             listBox.ScrollIntoView(listBox.SelectedItem);
         }
         if(!isIns){
             listBox.SelectionChanged += ListBox_SelectionChanged;
         }
         if(callback != null){
             callback();
         }
     }));
 }
Example #24
0
        // Update list based on selection.
        // Return true if there's an exact match, or false if not.
        static bool SelectListItem(ListBox list, object value)
        {
            ItemCollection itemList = list.Items;

            // Perform a binary search for the item.
            int first = 0;
            int limit = itemList.Count;

            while (first < limit)
            {
                int i = first + (limit - first) / 2;
                var item = (IComparable)(itemList[i]);
                int comparison = item.CompareTo(value);
                if (comparison < 0)
                {
                    // Value must be after i
                    first = i + 1;
                }
                else if (comparison > 0)
                {
                    // Value must be before i
                    limit = i;
                }
                else
                {
                    // Exact match; select the item.
                    list.SelectedIndex = i;
                    itemList.MoveCurrentToPosition(i);
                    list.ScrollIntoView(itemList[i]);
                    return true;
                }
            }

            // Not an exact match; move current position to the nearest item but don't select it.
            if (itemList.Count > 0)
            {
                int i = Math.Min(first, itemList.Count - 1);
                itemList.MoveCurrentToPosition(i);
                list.ScrollIntoView(itemList[i]);
            }

            return false;
        }
Example #25
0
        private static void ScrollSelectedItemIntoView(ListBox listBox)
        {
            if (listBox == null)
            {
                return;
            }

            listBox.ScrollIntoView(listBox.SelectedItem);
        }
 private void Listbox_Scroll_End(ListBox lsbox)
 {
     lsbox.ScrollIntoView(lsbox.Items[lsbox.Items.Count - 1]);
 }