שגיאה ב- listBox WPF
-
יש לי טופס פרטי איש קשר שמחובר בבינדינג למחלקה
שדה אחד בטופס מחובר בקשר גומלין לדוגמה תרומות של האיש קשר ובעצם מופיעים בו הרבה רשומות
יצרתי ליסט בוקס שיכיל את הנתונים וה- ItemsSource שלו הוא ביינדינג לליסט הפנימי של כל איש קשר
זה השגיאה שעולה לי
{"Items collection must be empty before using ItemsSource."}
אני מבין שבסדר הריצה של הקוד הליסט בוקס עולה ורק לאחר מכן הביינדינג מעדכן את ה -ItemsSource
וממילא עולה השגיאה הנ"ל
למישהוא יש פיתרון על ידי קוד [u:fhly5np2]XAML [/u:fhly5np2]בלית ברירה יתקבל גם פיתרון אחרפורסם במקור בפורום CODE613 ב08/01/2014 19:31 (+02:00)
-
ברור שיש אובייקטים בתוך הליסט
וחייב להיות כך אחרת מה הליסט?
או שלא הבנתי אותךאני מצרף את הקוד שלי שתבין
<StackPanel DataContext="{Binding ElementName=listBoxContacts}"> <WrapPanel DataContext="{Binding SelectedItem}"> <Label Content="ID"/> <TextBox Width="150" Text="{Binding id}"/> <Label Content="משפחה" /> <TextBox Width="150" Text="{Binding lName}"/> <Label Content="פרטי"/> <TextBox Width="150" Text="{Binding fName}"/> <ListBox ItemsSource="{Binding hoksForSelactedContact}" Width="150" Height="150"> <ListBoxItem> <StackPanel> <TextBlock Text="{Binding nameOwnerOfTheAccount}"/> <TextBlock Text="{Binding blaBla}"/> </StackPanel> </ListBoxItem> </ListBox> </WrapPanel> </StackPanel>
פורסם במקור בפורום CODE613 ב09/01/2014 11:19 (+02:00)
-
בדיוק מה שאמרתי. הליסט בוקס החיצוני מכיל איבר בודד, שהוא הליסט הפנימי.
זה מה שאתה רוצה? ליסט של פריט אחד? בודאי שלא. ואם תנסה למלאות את הליסט בבינדינג, א. זה לא ייראה בכלל כמו שעיצבת את הבודד, ב. זה סותר את עבודת המילוי הידני שלך באייטם אחד.
אלא אתה רוצה שכל איבר ייראה בדרך של האיבר הבודד שעשית. בשביל זה יש ItemTemplateאם הבנתי מה אתה רוצה שיקרה לבסוף, זה הקוד המתאים:
<ListBox ItemsSource="{Binding hoksForSelactedContact}" Width="150" Height="150"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding nameOwnerOfTheAccount}"/> <TextBlock Text="{Binding blaBla}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
פורסם במקור בפורום CODE613 ב09/01/2014 11:38 (+02:00)