Динамический элемент управления TabControl с динамическими кнопками
проблема в том, что я получаю только 1 кнопку в каждом элементе вкладки. и я получаю tabitem для каждого файла в определенной папке. вместо всего лишь пары заголовков
в каталоге звуков есть 5 папок, (набор 1-5) они мне нужны как tabitem.header. и в этих папках я хочу, чтобы кнопки были связаны с файлами в наборе 1-5
я надеюсь, что проблема ясна. я совершенно новичок в кодировании на c#. приношу свои извинения за мой плохой английский.
может ли some1 plz помочь мне здесь?
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); string path1 = @"d:\\root\\sounds\\"; /*Environment.GetFolderPath(Environment.SpecialFolder.Desktop);*/ string[] files = Directory.GetFiles(path1, "*.*", SearchOption.AllDirectories); string[] dir = Directory.GetDirectories(path1); string result; foreach (string sFile in files) { Button nwbut = new Button(); result = System.IO.Path.GetFileNameWithoutExtension(sFile); nwbut.Content = result; nwbut.Height = 30; nwbut.Width = 80; nwbut.Margin = Margin = new Thickness(5, 5, 5, 5); nwbut.Click += (s, e) => { mediaElement2.Source = new Uri(sFile); }; WrapPanel wp = new WrapPanel(); wp.Children.Add(nwbut); Grid gr = new Grid(); gr.Children.Add(wp); TabItem ti = new TabItem(); ti.Content = gr; foreach (string header in dir) ti.Header = System.IO.Path.GetFileNameWithoutExtension(header); tc.Items.Add(ti); } } } }
Что я уже пробовал:
я пробовал разные приложения foreach, но не могу заставить его работать
Gerry Schmitz
Вы не объяснили, в чем смысл всего этого. Немногие люди смогут дать вам свой лучший совет. Индикаторы состоят в том, что "кнопки на вкладках" на лету не являются идеальным решением для того, что бы вы ни пытались сделать.
А ваш конструктор слишком занят. Большая часть / все это должно происходить в вашем "загруженном" обработчике событий.
Richard Deeming
Репост
Вы уже опубликовали это на форуме WPF:
https://www.codeproject.com/Messages/5601369/dynamic-tabitems-with-dynamic-buttons-in-each-tabi.aspx[^]