में लिस्टबॉक्स में बाध्यकारी अवलोकन संग्रह मैंने इस समस्या के साथ कई घंटे बिताए हैं।एक्सएएमएल
class userClass : INotifyPropertyChanged
{
public int _key;
private string _fullName;
private string _nick;
public int key
{
get{return _key;}
set { _key = value; NotifyPropertyChanged("key"); }
}
private string nick
{
get { return _nick; }
set { _nick = value; NotifyPropertyChanged("nick"); }
}
private string fullName
{
get { return _fullName; }
set { _fullName = value; NotifyPropertyChanged("fullName"); }
}
public userClass()
{
nick = "nickname";
fullName = "fullname";
}
public userClass(String nick, String name, int key)
{
this.nick = nick;
this.fullName = name;
}
//INotifzPropertyChanged implementation
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public override string ToString()
{
return string.Format("{0} {1}, {2}", key, nick, fullName);
}
}
अगला मैं userClass वर्ग के ObservableCollection के साथ एक वर्ग है:
मैं डेटा के साथ एक वर्ग है
class userListClass : ObservableCollection<userClass>
{
public userListClass(){}
//public override void Add(userClass user)
//{
// //user.PropertyChanged += new PropertyChangedEventHandler(user);
// base.Add(user);
//}
~userListClass()
{
//Serialize();
}
public void Serialize(ObservableCollection<userClass> usersColl)
{
FileStream fs = new FileStream("DataFile.dat", FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(fs, usersColl);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to serialize. Reason: " + e.Message);
throw;
}
finally
{
fs.Close();
}
}
public void Deserialize()
{
FileStream fs = new FileStream("DataFile.dat", FileMode.Open);
try
{
BinaryFormatter formatter = new BinaryFormatter();
//users = (Hashtable) formatter.Deserialize(fs);
//usersColl = (ObservableCollection<userClass>)formatter.Deserialize(fs);
}
catch (SerializationException e)
{
MessageBox.Show(" Error: " + e.Message);
throw;
}
finally
{
fs.Close();
}
}
public override string ToString()
{
return "test";
//return base.ToString();
}
}
वास्तव में, एक संपादन कोड की, बड़ा हिस्सा परीक्षण के बहुत सारे के बाद serialization की तरह काम नहीं करता है। लेकिन डेटा बाध्यकारी और बाध्यकारी के लिए यह जरूरी नहीं है कि मैं अब क्या हल कर रहा हूं।
तो मेरे पास यह संग्रह है और इसे सूची बॉक्स में बांधना चाहते हैं। मैंने कई तरीकों की कोशिश की, लेकिन इसे काम करने के लिए नहीं मिला है।
The resource 'users' cannot be resolved.
<ListBox Grid.Column="0" Name="userViewLeft" ItemsSource="{Binding Source={StaticResource users} }" />
, मैं और वर्ग बनाने की कोशिश करता हूँ यह सार्वजनिक – thumbmunkeys
गुण है एक निजी नोट पर, मैं तुम्हें 'क्लास' के साथ अपने वर्ग के नाम के सभी प्रत्यय के लिए नहीं भीख माँगती हूँ –