Ejemplo n.º 1
0
        /// <summary>
        /// Metoda filtrująca nasze elementy w menu
        /// </summary>
        /// <param name="categoryId">według jakiej kategorii sortować</param>
        /// <param name="onlyActive">czy pokazać tylko aktywne elementy menu</param>
        private void HideInactiveItems(int categoryId, bool onlyActive = false)
        {
            ListBoxMenu.UpdateLayout();

            foreach (MenuItem item in ListBoxMenu.ItemsSource)
            {
                if (ListBoxMenu.ItemContainerGenerator.ContainerFromItem(item) is ListBoxItem listBoxItem)
                {
                    if ((!item.IsActive && onlyActive) || item.CategoryId != categoryId)
                    {
                        listBoxItem.Visibility = Visibility.Collapsed;
                    }
                    else
                    {
                        listBoxItem.Visibility = Visibility.Visible;
                    }
                }
            }
        }