Контейнер WPF для шаблона изображения - PullRequest
1 голос
/ 05 марта 2010

Я храню ссылки на изображения в базе данных sql ce 3.5 в виде строк. Я хочу получить URL-адреса и отобразить их в главном окне приложения. Вот код:

DataSet myDataSet;

        private void OnInit(object sender, EventArgs e)
        {

            string connString = Properties.Settings.Default.SystemicsAnalystDBConnectionString;
            OleDbConnection conn = new OleDbConnection(connString);
            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT url FROM Library;", conn);

            myDataSet = new DataSet();
            adapter.Fill(myDataSet, "Library");
            myListBox.DataContext = myDataSet;
        }

Первая проблема в том, что я не думаю, что метод onInit запущен. Но я не знаю причину этого.

Вторая проблема связана с файлом XAML. Мне нужен контейнер для изображений (например, список для текстовых полей), и так как я не буду знать, сколько там изображений, мне нужен какой-то шаблон:

                            <DataTemplate>
                                <StackPanel>
                                    <Image Source="{Binding Path=url}" />
                                </StackPanel>
                            </DataTemplate>

Но должен быть какой-то контейнер, для которого текст данных был бы установлен в качестве источника данных.

Может ли кто-нибудь помочь?

Ответы [ 2 ]

1 голос
/ 05 марта 2010

Вы можете легко настроить список в wpf, чтобы в нем были изображения вместо текста.Используйте ItemTemplate или, если вы хотите изменить себя, ControlTemplate.

0 голосов
/ 05 марта 2010
<ListBox ItemsSource="{Binding Library}">
  <ListBox.ItemTemplate>
    <DataTemplate>    
         <Image Source="{Binding Path=url}" />
     </DataTemplate>
  </ListBox.ItemTemplate>
 </ListBox>

DataContext для ListBox должен быть вашим DataSet. Вы можете использовать OnLoad вместо OnInit

В любом случае, я не рекомендую привязку DataSet, было бы более управляемым, если бы вы создали класс ViewModel для вашей библиотеки и создали коллекцию сущностей библиотеки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...