#c# #wpf #button #dynamic
Вопрос:
Я ищу решение для открытия папок с помощью динамически создаваемых кнопок. Поскольку я новичок в кодировании, решение, которое я нашел до сих пор, немного шаткое. Потому что я использую a Textbox
, чтобы получить фактическое string
значение, которое я могу использовать.
public string MainDirPath = @"C:....";
public string DirPath { get; set; }
public class Person
{
public string Name { get; set; }
}
private void Btn2_Click(object sender, RoutedEventArgs e)
{
Button Btn;
Person pers;
TextBox tb;
StackPanel s;
List<string> lstDirs = new List<string>(Directory.GetDirectories(MainDirPath));
foreach (string Dir in lstDirs)
{
Btn = new Button();
pers = new Person();
tb = new TextBox();
s = new StackPanel();
pers.Name = Dir;
tb.Text = Dir;
Btn.Content = tb;
Btn.Height = 200;
Btn.Name = "Button_" ( i).ToString();
Btn.Click = new RoutedEventHandler(Btn_Click);
tb.MouseDoubleClick = new MouseButtonEventHandler(Tb_DoubleClick);
s.Children.Add(Btn);
StkPnl_MG.Children.Add(s);
}
}
void Btn_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
}
void Tb_DoubleClick(object sender, RoutedEventArgs e)
{
TextBox tb = sender as TextBox;
DirPath = tb.Text;
lstBox.Items.Add(tb.Text);
}
Я использовал Google, чтобы найти лучшее решение, но, возможно, я не знаю, какие термосы нужно искать.
Комментарии:
1. Что вы имеете в виду под «открывать папки», например, открывать проводник по определенному пути или отображать выбранную папку в WPF(что-то вроде самореализующегося проводника)?
2. Ну, у меня есть основная папка со множеством папок в ней, и в этих папках много изображений. Это приложение должно иметь возможность создавать кнопки в зависимости от количества папок в основной папке. И на этих кнопках должно быть указано название папки(и другая информация). И эти кнопки должны открывать эти папки, нажимая на них, чтобы отобразить изображения этих папок. Я не включаю в него часть изображения.
3. Хорошо, когда вы говорите, что он должен отображать изображения этих папок, вы имеете в виду в своем приложении, а не в проводнике Windows, верно?
4. Да, именно в моем приложении
5. Вы можете попробовать сохранить объекты кнопок в списке, и каждый раз, когда меняется каталог(папка, в которую они нажимают), просто удаляйте кнопки, создавайте новые и добавляйте их в список. В качестве альтернативы вы можете просто просмотреть список и изменить их текст и обратные звонки