Ejemplo n.º 1
0
        private StackPanel CreateLevelStackPanel(int viewIndex, int levelIndex)
        {
            var btnDelete = new Button()
            {
                Content = "x"
            };

            btnDelete.SetBinding(Button.IsEnabledProperty, new Binding(string.Format("MasterDetailList[{0}].CanDeleteLevel", viewIndex)));
            btnDelete.Click += DeleteLevelButton_Click;

            var btnAdd = new Button()
            {
                Content = "+"
            };

            btnAdd.Click += AddLevelBtn_Click;

            var combobox = new ComboBoxEx()
            {
                IsEditable = false
            };

            combobox.DisplayMemberPath = nameof(DbTable.TableName);
            combobox.SelectedValuePath = nameof(DbTable.TableName);
            combobox.SetBinding(ComboBoxEx.ItemsSourceExProperty, new Binding("Tables"));
            combobox.SetBinding(ComboBox.SelectedValueProperty, new Binding(string.Format("MasterDetailList[{0}].Levels[{1}]", viewIndex, levelIndex)));

            var stackPanel = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            stackPanel.Children.Add(btnDelete);
            stackPanel.Children.Add(combobox);
            stackPanel.Children.Add(btnAdd);

            return(stackPanel);
        }