Max Destiny
asked on
New Storage
using System;
using System.Collections.Generic ;
using System.IO;
using System.Linq;
using System.Runtime.InteropServ ices.Windo wsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collect ions;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.P rimitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation ;
using Windows.Storage;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
namespace New_Storage
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
StorageLibrary activelibrary = null;
StorageLibrary publicvideoslibrary = null;
StorageLibrary publicmusiclibrary = null;
StorageLibrary publicpictureslibrary = null;
IStorageFolder mainfolder = null;
IStorageItem item = null;
IStorageFile file = null;
ListBoxItem itm = null;
TextBox publictextbox = null;
public MainPage()
{
this.InitializeComponent() ;
this.Loading += MainPage_Loading;
this.RightTapped += MainPage_RightTapped;
this.DoubleTapped += MainPage_DoubleTapped;
libraries_listbox.Selectio nChanged += Libraries_listbox_Selectio nChanged;
libraries_listbox.Items.In sert(0, "videos");
libraries_listbox.Items.In sert(1, "pictures");
libraries_listbox.Items.In sert(2, "music");
items_listbox.SelectionCha nged += Items_listbox_SelectionCha nged;
items_listbox.DoubleTapped += Items_listbox_DoubleTapped ;
ListViewItem createfolderitem = new ListViewItem();
createfolderitem.Content = "Create Folder:";
ListViewItem createfileitem = new ListViewItem();
createfileitem.Content = "Create File:";
ListViewItem deleteitem = new ListViewItem();
deleteitem.Content = "Delete:";
ListViewItem renameitem = new ListViewItem();
renameitem.Content = "Rename:";
TextBox t = new TextBox();
listviewitem.Items.Add(cre atefolderi tem);
listviewitem.Items.Add(cre atefileite m);
listviewitem.Items.Add(del eteitem);
listviewitem.Items.Add(ren ameitem);
listviewitem.Items.Add(t);
listviewitem.Visibility = Visibility.Collapsed;
listviewitem.SelectionChan ged += Listviewitem_SelectionChan ged;
publictextbox = t;
}
private async void Listviewitem_SelectionChan ged(object sender, SelectionChangedEventArgs e)
{
if (listviewitem.SelectedItem == listviewitem.Items[0])
{
await mainfolder.CreateFolderAsy nc(publict extbox.Tex t);
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem == listviewitem.Items[1])
{
await mainfolder.CreateFileAsync (publictex tbox.Text) ;
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem == listviewitem.Items[2])
{
item = await mainfolder.GetItemAsync(it ems_listbo x.Selected Value.ToSt ring());
await item.DeleteAsync(StorageDe leteOption .Default);
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem == listviewitem.Items[3])
{
item = await mainfolder.GetItemAsync(it ems_listbo x.Selected Value.ToSt ring());
await item.RenameAsync(publictex tbox.Text) ;
listviewitem.Visibility = Visibility.Collapsed;
}
}
private async void Items_listbox_DoubleTapped (object sender, DoubleTappedRoutedEventArg s e)
{
[b] item = await mainfolder.GetItemAsync(it m.Content. ToString() );
[/b]
if (item.GetType() == mainfolder.GetType())
{
mainfolder = await mainfolder.GetFolderAsync( item.Name) ;
foreach (IStorageItem itm in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it m);
}
}
if (item.GetType() == publicpictureslibrary.Save Folder.Get Type())
{
mainfolder = await mainfolder.GetFolderAsync( item.Name) ;
items_listbox.Items.Clear( );
foreach (IStorageItem itm in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it m.Name);
}
}
}
private void Items_listbox_SelectionCha nged(objec t sender, SelectionChangedEventArgs e)
{
itm = items_listbox.SelectedItem as ListBoxItem;
}
private void MainPage_DoubleTapped(obje ct sender, DoubleTappedRoutedEventArg s e)
{
}
private async void Libraries_listbox_Selectio nChanged(o bject sender, SelectionChangedEventArgs e)
{
if (libraries_listbox.Selecte dItem == libraries_listbox.Items[0] )
{
activelibrary = publicvideoslibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach(IStorageItem item in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it em.Name);
}
}
else if (libraries_listbox.Selecte dItem == libraries_listbox.Items[1] )
{
activelibrary = publicpictureslibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach (IStorageItem item in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it em.Name);
}
}
else if (libraries_listbox.Selecte dItem == libraries_listbox.Items[2] )
{
activelibrary = publicmusiclibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach (IStorageItem item in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it em.Name);
}
}
}
private void MainPage_RightTapped(objec t sender, RightTappedRoutedEventArgs e)
{
listviewitem.Visibility = Visibility.Visible;
}
private async void MainPage_Loading(Framework Element sender, object args)
{
StorageLibrary videoslibrary = await StorageLibrary.GetLibraryA sync(Known LibraryId. Videos);
publicvideoslibrary = videoslibrary;
publicvideoslibrary.Defini tionChange d += Publicvideoslibrary_Defini tionChange d;
StorageLibrary musiclibrary = await StorageLibrary.GetLibraryA sync(Known LibraryId. Music);
publicmusiclibrary = musiclibrary;
publicmusiclibrary.Definit ionChanged += Publicmusiclibrary_Definit ionChanged ;
StorageLibrary pictureslibrary = await StorageLibrary.GetLibraryA sync(Known LibraryId. Pictures);
publicpictureslibrary = pictureslibrary;
publicpictureslibrary.Defi nitionChan ged += Publicpictureslibrary_Defi nitionChan ged;
}
private async void Publicpictureslibrary_Defi nitionChan ged(Storag eLibrary sender, object args)
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach (IStorageItem itm in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it m.Name);
}
}
private async void Publicmusiclibrary_Definit ionChanged (StorageLi brary sender, object args)
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach(IStorageItem itm in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it m.Name);
}
}
private async void Publicvideoslibrary_Defini tionChange d(StorageL ibrary sender, object args)
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear( );
foreach (IStorageItem itm in await mainfolder.GetItemsAsync() )
{
items_listbox.Items.Add(it m.Name);
}
}
}
}
the problem is in the underlining text
it says object reference not set to an instance object and its really weird!!!:)
it is an almost-completed storage for pictures,videos and music libraries.
and it cant load the items within the mainfolder!:)
using System.Collections.Generic
using System.IO;
using System.Linq;
using System.Runtime.InteropServ
using Windows.Foundation;
using Windows.Foundation.Collect
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.P
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation
using Windows.Storage;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
namespace New_Storage
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
StorageLibrary activelibrary = null;
StorageLibrary publicvideoslibrary = null;
StorageLibrary publicmusiclibrary = null;
StorageLibrary publicpictureslibrary = null;
IStorageFolder mainfolder = null;
IStorageItem item = null;
IStorageFile file = null;
ListBoxItem itm = null;
TextBox publictextbox = null;
public MainPage()
{
this.InitializeComponent()
this.Loading += MainPage_Loading;
this.RightTapped += MainPage_RightTapped;
this.DoubleTapped += MainPage_DoubleTapped;
libraries_listbox.Selectio
libraries_listbox.Items.In
libraries_listbox.Items.In
libraries_listbox.Items.In
items_listbox.SelectionCha
items_listbox.DoubleTapped
ListViewItem createfolderitem = new ListViewItem();
createfolderitem.Content = "Create Folder:";
ListViewItem createfileitem = new ListViewItem();
createfileitem.Content = "Create File:";
ListViewItem deleteitem = new ListViewItem();
deleteitem.Content = "Delete:";
ListViewItem renameitem = new ListViewItem();
renameitem.Content = "Rename:";
TextBox t = new TextBox();
listviewitem.Items.Add(cre
listviewitem.Items.Add(cre
listviewitem.Items.Add(del
listviewitem.Items.Add(ren
listviewitem.Items.Add(t);
listviewitem.Visibility = Visibility.Collapsed;
listviewitem.SelectionChan
publictextbox = t;
}
private async void Listviewitem_SelectionChan
{
if (listviewitem.SelectedItem
{
await mainfolder.CreateFolderAsy
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem
{
await mainfolder.CreateFileAsync
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem
{
item = await mainfolder.GetItemAsync(it
await item.DeleteAsync(StorageDe
listviewitem.Visibility = Visibility.Collapsed;
}
if (listviewitem.SelectedItem
{
item = await mainfolder.GetItemAsync(it
await item.RenameAsync(publictex
listviewitem.Visibility = Visibility.Collapsed;
}
}
private async void Items_listbox_DoubleTapped
{
[b] item = await mainfolder.GetItemAsync(it
[/b]
if (item.GetType() == mainfolder.GetType())
{
mainfolder = await mainfolder.GetFolderAsync(
foreach (IStorageItem itm in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
if (item.GetType() == publicpictureslibrary.Save
{
mainfolder = await mainfolder.GetFolderAsync(
items_listbox.Items.Clear(
foreach (IStorageItem itm in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
}
private void Items_listbox_SelectionCha
{
itm = items_listbox.SelectedItem
}
private void MainPage_DoubleTapped(obje
{
}
private async void Libraries_listbox_Selectio
{
if (libraries_listbox.Selecte
{
activelibrary = publicvideoslibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach(IStorageItem item in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
else if (libraries_listbox.Selecte
{
activelibrary = publicpictureslibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach (IStorageItem item in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
else if (libraries_listbox.Selecte
{
activelibrary = publicmusiclibrary;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach (IStorageItem item in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
}
private void MainPage_RightTapped(objec
{
listviewitem.Visibility = Visibility.Visible;
}
private async void MainPage_Loading(Framework
{
StorageLibrary videoslibrary = await StorageLibrary.GetLibraryA
publicvideoslibrary = videoslibrary;
publicvideoslibrary.Defini
StorageLibrary musiclibrary = await StorageLibrary.GetLibraryA
publicmusiclibrary = musiclibrary;
publicmusiclibrary.Definit
StorageLibrary pictureslibrary = await StorageLibrary.GetLibraryA
publicpictureslibrary = pictureslibrary;
publicpictureslibrary.Defi
}
private async void Publicpictureslibrary_Defi
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach (IStorageItem itm in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
private async void Publicmusiclibrary_Definit
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach(IStorageItem itm in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
private async void Publicvideoslibrary_Defini
{
activelibrary = sender;
mainfolder = activelibrary.SaveFolder;
items_listbox.Items.Clear(
foreach (IStorageItem itm in await mainfolder.GetItemsAsync()
{
items_listbox.Items.Add(it
}
}
}
}
the problem is in the underlining text
it says object reference not set to an instance object and its really weird!!!:)
it is an almost-completed storage for pictures,videos and music libraries.
and it cant load the items within the mainfolder!:)
ASKER
what!?
Mainfolder is assigned from the beginning.The problem aint there.Anyway im gonna add a new listviewitem so...
Mainfolder is assigned from the beginning.The problem aint there.Anyway im gonna add a new listviewitem so...
ASKER
have you read all the lines?
Yes I have and I have searched through your code. You declare a variable called mainfolder and assign the value null to it.
Where do you actually assign a real value to it?
object reference not set to an instance object That error message is when you have something with a value null and attempt to use it eg. null.GetItemAsync
Where do you actually assign a real value to it?
object reference not set to an instance object That error message is when you have something with a value null and attempt to use it eg. null.GetItemAsync
ASKER
I just did it
ASKER
mainfolder may be null at beginning but when you select items by the listbox it becomes non-nullable
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
IStorageFolder mainfolder = null;
But I don't see anywhere where you actually assign a value to mainfolder.
In your DoubleTapped handler the faulting line
item = await mainfolder.GetItemAsync(it
will fail with your error message if mainfolder is null.