Наличие элемента Pivot в качестве каталога в изолированном хранилище - PullRequest
2 голосов
/ 01 февраля 2012

Я хочу, чтобы каждый сводный элемент представлял собой один каталог в изолированном хранилище, а затем загружал каждое имя файла в список. Я нахожу это довольно запутанным, можете ли вы, ребята, помочь мне с этим?

В настоящее время все это просто отображается в одномpivot & для моего приложения пользователь может фактически создать каталог pivot aka.

можно ли будет создать код таким образом, чтобы я мог загрузить каталог на основе имени сводного элемента, а затем загрузить весь элемент изэтот каталог?

Спасибо>. <</p>

public partial class View2 : PhoneApplicationPage
    {
        public String selected;

        public View2()
        {

            InitializeComponent();
            LoadFromLocalStorage();

        }



        private void LoadFromLocalStorage()
        {
            try
                {
            using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
            {

                    //string[] fileNames = store.GetFileNames();

                    string[] fileNames = store.GetFileNames("./general/*.*");
                    var files = new ObservableCollection<string>();


                    foreach (string s in fileNames)
                    {
                        files.Add(s);
                    }
                    lbFiles.ItemsSource = files;
                }
            }
                catch
                {
                    MessageBox.Show("Capture an image first!");

                }

        }



        private static string _first;

        public string First
        {
            get
            {
                return _first;
            }
        }

        private void lbFiles_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            selected = lbFiles.SelectedItem.ToString();
            general item = new general();
            item.viewimage(selected);
            MessageBox.Show(selected);
            _first = selected;
            NavigationService.Navigate(new Uri("/View.xaml", UriKind.Relative));
        }





    }

1 Ответ

1 голос
/ 01 февраля 2012

Для создания одного сводного элемента для каждого каталога, лучше, если вы можете создать класс для одного и того же, имя скажет "DirectoyItem" , у которого есть имя и набор файлов (назовите его как Файлы ) имя в этом каталоге.

  1. Для большей модульности и ясности создайте Viewmodel для страницы, имеющей коллекцию (ObservableColelction является наиболее предпочтительной) из "DirectoryItem". вызовите эту коллекцию как Каталоги

    открытый класс ViewModel { Каталоги ObservableCollection = new ObservableColelction ();

    // call LoadFromLocalStorage() and add items to this Directories  list  
    

    }

    открытый класс DirectoryItem: INotifyPropertyChanged { строка _name;

    ObservableCollection<string> Files;
    
    public DirectoryItem()
    {
        _name = null;
        Files = new ObservableCollection<string>();
    }
    
    //write public set and get for Name field.
    
    //notify whenever property changes
    

    }

  2. Привязать элементы этой коллекции к элементам PivotControl. Вы можете сделать это следующим образом

установить datacontext примерно так в конструкторе страниц

public MyPage()
{
    //Initializa components
    this.DataContext = new ViewModel();
}
  1. Наконец, при запуске приложения, для каждого каталога изолированного хранилища создайте DirectoryItem и сохраняйте его в коллекции DirectoryItems ( Files ).

Сделав это, вы создадите страницу с элементами управления сводной таблицей, чьи элементы являются каталогами изолированного хранилища, а каждый элемент сводной таблицы имеет имена файлов в этой конкретной папке.

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