powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление кнопки к картинке или же кнопка с картинкой внутри.
4 сообщений из 4, страница 1 из 1
Добавление кнопки к картинке или же кнопка с картинкой внутри.
    #38767213
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Есть такая незадача.

Я выгружаю доступные изображения из папки на Grid.
Как сделать из этих изображений кнопки или кнопки рядом с этими изображениями.
Вот то,чего я добился :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
 void bwLoader_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (e.UserState is BitmapImage)
            {
                BitmapImage image = e.UserState as BitmapImage;
                mainGrid.Children.Add(new Image() { Source = image, SnapsToDevicePixels = true, Height = 200, Width = 200 });
                mainGrid.Children.Add( new Button  { Content = image});
                
            }

            
        }


        private void bwLoader_DoWork(object sender, DoWorkEventArgs e)
        {
            string[] dirs = (string[])e.Argument;
            foreach (var dir in dirs)
            {
                Thread.Sleep(2000);

               
                    BitmapImage src = new BitmapImage();
                    src.CacheOption = BitmapCacheOption.OnLoad;
                    src.BeginInit();
                    src.UriSource = new Uri(dir, UriKind.Relative);
                    src.EndInit();
                    src.Freeze();
                    bwLoader.ReportProgress(0, src);
          
            }
        }



С эти кодом получается картинка,а под ней кнопка,в которой написан полный путь до моего файла.
Код: c#
1.
2.
mainGrid.Children.Add(new Image() { Source = image, SnapsToDevicePixels = true, Height = 200, Width = 200 });
                mainGrid.Children.Add( new Button  { Content = image});




Вопрос состоит в том,как привязать какие-либо свойства к этой кнопке.
...
Рейтинг: 0 / 0
Добавление кнопки к картинке или же кнопка с картинкой внутри.
    #38767237
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе,я реализовал. Но свежие и грамотные идеи приветствуются.
...
Рейтинг: 0 / 0
Добавление кнопки к картинке или же кнопка с картинкой внутри.
    #38767512
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я б использовал ItemsControl или наследуемый от него класс (ListBox и т. п.). Только класс Grid для размещения не очень удобен из-за необходимости задавать столбцы и строки, можно выбрать другой контейнер в зависимости от того, что нужно (например, WrapPanel или UniformGrid). На XAML это выглядело б примерно так:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<ItemsControl ItemsSource="{Binding Files}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button>
<Image Source="{Binding FilePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>


В качестве DataContext нужно назначить класс со свойством
Код: c#
1.
2.
3.
4.
public ObservableCollection<FileViewModel> Files 
{
  get {return _files;}
}


и создать этот класс FileViewModel со свойством FilePath (т. е. в нём путь к файлу). Тогда при добавлении в коллекцию _files будет выводиться новая кнопка с картинкой.
...
Рейтинг: 0 / 0
Добавление кнопки к картинке или же кнопка с картинкой внутри.
    #38767552
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fuzz, нужно избавиться в WinForms головного мозга в первую очередь. :)
и понять основные принципы WPF =)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление кнопки к картинке или же кнопка с картинкой внутри.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]