WPF: בינדינג בזאמל לדטה גריד
-
כתבתי את הקוד הבא:
<DataGrid ItemsSource="{Binding Source={StaticResource addTorem},Path=Donations}" AutoGenerateColumns="False" > <DataGrid.Columns> <DataGridTextColumn Header="ID" IsReadOnly="True" Binding="{Binding IdDonation}" /> <DataGridTextColumn Header="שם התורם" Binding="{Binding Converter={StaticResource converterId}, Path=IdDonor}"/> </DataGrid.Columns> </DataGrid>
אבל זה לא עבד ולא הציג כלום..
שיניתי את השורה הראשונה כך:<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" >
ובמקום זאת כתבתי בקוד כך:
previewDonations.DataContext = AddTorem.donations;
והכל עובד מצויין!!
השאלה שלי מדוע זה לא עובד דרך הזאמל? הרי לכאו' מספיק לכתוב בזאמל את הבינדינג..תודה רבה!
פורסם במקור בפורום CODE613 ב05/08/2015 15:34 (+03:00)
-
באמת הייתה לי טעות שכתבתי Donations ולא donations.
תיקנתי את זה ועדיין זה לא עובד..
הודעת השגיאה בout היא:System.Windows.Data Error: 40 : BindingExpression path error: 'donations' property not found on 'object' ''AddTorem' (Name='')'. BindingExpression:Path=donations; DataItem='AddTorem' (Name=''); target element is 'DataGrid' (Name=''); target property is 'ItemsSource' (type 'IEnumerable')
אבל אין לי מושג למה הוא אומר שהוא לא מוצא אותו.. כיון שבחלון AddTorem הגדרתי list של donations כציבורי וסטטי, וזה כתוב באיות הנכון...
תודה רבה!פורסם במקור בפורום CODE613 ב06/08/2015 13:51 (+03:00)
-
@דוד ל.ט.
הליסטים הם מאפיינים או רק משתנים ציבוריים?
כמו"כ אם הם סטטיים, אז זה אכן סיפור אחר לגמרי, משתמשים עם ביטוי סטטיק:
{Binding Source={x:Static local:AddTorem.Donations}אכן כן! הם משתנים ציבוריים ואינם מאפיינים. כמו כן הם סטטיים.
תודה רבה! אכן עכשיו זה עובד!!
מדוע יש הבדל בין משתנה סטטי למשתנה רגיל בצורת ההפניה אליו? (מפני שאין צורך ביצירת מופע חדש שלו, או שזה לא קשור..)פורסם במקור בפורום CODE613 ב06/08/2015 21:48 (+03:00)
-
@דוד ל.ט.
הליסטים הם מאפיינים או רק משתנים ציבוריים?
כמו"כ אם הם סטטיים, אז זה אכן סיפור אחר לגמרי, משתמשים עם ביטוי סטטיק:
{Binding Source={x:Static local:AddTorem.Donations}אני רוצה לעשות בינדינג לליסט שהוא משתנה ציבורי ואינו מאפיין של החלון, כמו כן הוא לא סטטי..
כיצד לעשות זאת? לא הצלחתי...
האם חייבים שהוא יממש את הממשק INotifyProperty או שזה לא קשור.. (זה מה שהיה כתוב בstackOver אם הצלחתי להבין :lol: )
תודה!!פורסם במקור בפורום CODE613 ב10/09/2015 20:59 (+03:00)
-
אם הליסט עצמה איננה מאפיין אלא משתנה (לא משנה ציבורי/פרטי) אז אי אפשר לאגד אילה אבל אפשר לדחוף אותה לDataContext דרך הקוד.
מאפיין בליסט? כנראה כוונתך מאפיין באיבר שבליסט. נו ומאיזה איבר, הראשון או השני או בכלל האחרון?פורסם במקור בפורום CODE613 ב11/09/2015 11:59 (+03:00)
-
@דוד ל.ט.
אם הליסט עצמה איננה מאפיין אלא משתנה (לא משנה ציבורי/פרטי) אז אי אפשר לאגד אילה אבל אפשר לדחוף אותה לDataContext דרך הקוד.
מאפיין בליסט? כנראה כוונתך מאפיין באיבר שבליסט. נו ומאיזה איבר, הראשון או השני או בכלל האחרון?תודה!
רק עכשיו ראיתי שענית לי...
הליסט הוא מסוג מילון, ז"א key ו value
ואני רוצה לאגד את הvalue של כל האיברים שבליסט...
אפשר להגדיר זאת בדטה קונטקסט?
תודה רבה!פורסם במקור בפורום CODE613 ב16/09/2015 23:52 (+03:00)