首页 > 其他分享 >www

www

时间:2023-05-28 17:44:29浏览次数:36  
标签:www set string private itemsControl child public

            <Menu  x:Name="menuTop"
                   ItemsSource="{Binding  Path=QueryEditorMenu}">
                <Menu.ItemContainerStyle>
                    <Style  TargetType="MenuItem">
                        <Setter Property="Header"
                                Value="{Binding Title}"></Setter>
                        <Setter Property="Command"
                                Value="{Binding Command}"></Setter>
                        <Setter Property="CommandParameter"
                                Value="{Binding NameSpace}"></Setter>
                        <Setter Property="Tag"
                                Value="{Binding Tag}"></Setter>
                        <Setter Property="ItemsSource"
                                Value="{Binding SubItems}"></Setter>

                        <Setter Property="InputGestureText"
                                Value="{Binding ShortcutKey}" />
                    </Style>
                </Menu.ItemContainerStyle>
            </Menu>

  

    public class MenuBar:BindableBase
    {

        private string _icon;
        public string Icon
        {
            get { return _icon; }
            set
            {
                SetProperty(ref _icon, value);
            }
        }
        private string _tag;

        public string Tag
        {
            get { return _tag; }
            set
            {
                SetProperty(ref _tag, value);
            }
        }



        private string title;
        /// <summary>
        /// 菜单标题
        /// </summary>
        public string Title
        {
            get { return title; }
            set { title = value; }
        }


        private string shortcutKey;
        /// <summary>
        /// 菜单快捷键
        /// </summary>
        public string ShortcutKey
        {
            get { return shortcutKey; }
            set { shortcutKey = value; }
        }


        private string nameSpace;
        /// <summary>
        /// 命名空间
        /// </summary>
        public string NameSpace
        {
            get { return nameSpace; }
            set { nameSpace = value; }
        }


        private bool _isEnabled;

        public bool IsEnabled
        {
            get { return _isEnabled; }
            set
            {
                SetProperty(ref _isEnabled, value);
            }
        }



        private Visibility _mainViewButtonVisible;

        public Visibility MainViewButtonVisible
        {
            get { return _mainViewButtonVisible; }
            set
            {
                SetProperty(ref _mainViewButtonVisible, value);
            }
        }


        private ObservableCollection<MenuBar> subItems;

        public ObservableCollection<MenuBar> SubItems
        {
            get { return subItems; }
            set
            {
                subItems = value;
                this.RaisePropertyChanged();
            }
        }

        private ICommand command;

        public ICommand Command
        {
            get { return command; }
            set
            {
                command = value;
                this.RaisePropertyChanged();
            }
        }
    }

  

private void LoopItemsControl(object child)
{
ItemsControl itemsControl = child as ItemsControl;
for (int i = 0; i < itemsControl.Items.Count; i++)
{
DependencyObject dependencyObject = itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
LoadControlsInXAMLContainer(dependencyObject);
LoopItemsControl(dependencyObject);
}

//if (child is ItemsControl)
//{
// ItemsControl itemsControl = child as ItemsControl;
// for (int i = 0; i < itemsControl.Items.Count; i++)
// {
// LoadControlsInXAMLContainer(itemsControl.ItemContainerGenerator.ContainerFromIndex(i));
// LoopItemsControl(itemsControl.ItemContainerGenerator.ContainerFromIndex(i));
// }

//}
}

 

foreach (object child in LogicalTreeHelper.GetChildren(dep))
{
if (child is ItemsControl)
{
LoopItemsControl(child);
//ItemsControl itemsControl = child as ItemsControl;
//for (int i = 0; i < itemsControl.Items.Count; i++)
//{
// DependencyObject dependencyObject = itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
// LoadControlsInXAMLContainer(dependencyObject);
//}
//LoopItemsControl(child);
}
LoadControlsInXAMLContainer(child);
}

标签:www,set,string,private,itemsControl,child,public
From: https://www.cnblogs.com/lihui1996/p/17438556.html

相关文章