WPF - ערפול קוד למאפיינים שבשימוש הבינדינג
-
דבר החידוש בWPF ששמים בבינדינג את שמות המאפיינים כמחרוזת גורם שאי אפשר לכאורא לעשות ערפול לקוד ולעשות שינוי שמות לאובייטים שונים שבשימוש הבינדינג, מה הפתרון?
אולי לא להשתמש כלל בבינדינג בתוך ה XAML אלא להגדיר את מקור הבינדינג בתוך הקוד בלבד?
ואיך אפשר לעשות את זה באמת כאשר רוצים להגדיר בינדינג עבור איזה סטייל או טמפלט ?פורסם במקור בפורום CODE613 ב07/11/2013 19:06 (+02:00)
-
קודם כל אני שמח לראות שגילית את עולם הבידניג שבשביל זה ירד WPF לעולם בעצם... ואל תגיד שזה לא בזכותי
לגבי ערפול אני לא יודע איך המנגנון עובד, ייתכן שאם זה כלי עירפול של מייקרוסופט הם לקחו את זה בחשבון מן הסתם, אתה יכול לנסות.באופן כללי אני לא יודע אם יש מה להרויח בערפול קוד כאשר אתה עושה לאנשים מסויימים תוכנה, החשש להעתקות הוא נדיר, כשלא מדובר בתוכנה בינלאומית, או תוכנה פשוטה מאוד מאוד לתפעול. וגם אם תימצי לומר שיעתיקו מי יתחזק להם וכולי. לא יודע. אני סבור שמתכנת מחזיק הרבה כוח בידיים מבחינת הארגון, אף ארגון לא רוצה לקחת סיכון שהמתכנת לא מספיק מכיר את התוכנה, וגם מתכנת נורמלי לא ישתף פעולה עם פשע של העתקה, אז מה בדיוק החשש....
לגבי בינדינג בסטייל או טמפלט אני זוכר שיש דבר כזה, צריך לדעת איך להגדיר את הרפרנסים והריסורסים בתחילת הקובץ ואז יש התייחסות למחלקה שאתה משתייך אליה.
פורסם במקור בפורום CODE613 ב07/11/2013 23:18 (+02:00)
-
אכן אתה צודק שאם אני מפתח תוכנה לניהול מוסד או משרד וכדומה ומקבל את מלוא התמורה על כל דקת עבודה זה כבר לא מעניין אותי מה יקרה עם הקוד, וגם כמו שאמרת רוב הסיכויים שלא יקרה לו כלום והוא ישאר שלי לנצח, אבל הבעיה זה עם תוכנות בסגנון פרוייקט השו''ת ואוצר החכמה ודומיהם שהאלו תוכנות אצמעיות שכל אחד יכול להעתיק ולהשתמש אם לא תהיה חסימה סבירה.
וכאן באה ההגנה על הקוד עם ערפול שמות קלאסים ופונקציות וכל השאר, עם הכלי של VS ניסיתי אבל הוא ערפל פחות מ 40
אחוז.פורסם במקור בפורום CODE613 ב08/11/2013 00:48 (+02:00)
-
אם אתה לא משנה את שמות המאפיינים אז קל להתמצאת בתוך האסמבלי ולזהות מה יוצא ממה וכו', ובפרט אם הפורץ לא מעוניין בקוד מקור אלא רק בלפרוץ את מנגונוני החסימה בדיקת הרשיון וכדומה. זה הרושם שקיבלתי כאשר פתחתי את התוכנות שלי ברפלקטור. ופאצ' אחד קטן יכול להפצח את הכל!
בWIN FORMS הערפול הוא טוטאלי גם לשמות פקדים וגם לשמות מאפיינים וגם למחרוזות אבל ב WPF אם לא תתרגם כל בינדינג בתוך ה XAML לקוד דוטנט אי אפשר לערפל אותו, אז לכן אני ללמוד רוצה איך מלכתחילה כל בינדינג לכתוב בתוך הקוד ולא בתוך ה XAML.
מה שלא ידוע לי בנתיים זה לתרגם Style ו Triggers וטמפלטים, וגם אולי אפשר לכתוב הכל בתוך הXAML ורק את בינדינג בתוך הקוד, או שזה יקשה על התחזוקה.פורסם במקור בפורום CODE613 ב10/11/2013 16:23 (+02:00)
-
א. עד כמה שזכור לי, בכל מקרה בקומפילציה כל הזאמל (XAML) הופך לקוד בדיוק כאילו כך כתבת אותו במקור. לא כך? בדוק ברפלקטור.
ב. אני לא הבנתי כלל מה אכפת שידעו את כל שמות המאפיינים.
ג. אני יכול להראות לך איך לעשות כל קוד זאמל בC# או VB.NET, אך זה יוציא לך מהר את החשק מWPF.פורסם במקור בפורום CODE613 ב11/11/2013 15:14 (+02:00)
-
א. נכון, מסמך הXAML מופוע בדיוק כמו שעזבת אותו ב VS בתוך הרפלקטור, אבל מסמך כזה ללא בטמפלטס שלו בלא הבינדיגס שלו ובלא בסטולס שלו אין מה לעשות איתו לפורץ הפוטנציאלי.
ב. קשה לי להסביר שחור על גבי לבן מה יהיה בלי או עם מאפיינים לא מעורפלים אבל בגדול זה נותן קושי על קושי לפרוץ כאשר מטשטשים כמה שיותר.
ג. אשמח לדעת בכל מקרה, החשק שלי לWPF לא היה בשביל חויית תיכונת, אל כדי לנצל באמת את היתרונות של WPF בתחום ממשק משתמש והצגת מידע, ולא מפריע לי לעבוד קשה....
בא נתחיל מהקוד של בורר תאריכים עם לחצן 'היום' שפרסמתי כאן.פורסם במקור בפורום CODE613 ב11/11/2013 16:21 (+02:00)
-
@דוד ל.ט.
הגנרטור הזה תרגם לי את זה כך:
Dim binding9 As System.Windows.Data.Binding = New System.Windows.Data.Binding("Name") Dim binding11 As System.Windows.Data.Binding = New System.Windows.Data.Binding("DateChange")
כך שהשמות של המאפיינים עדיין מוצגים כמחרוזת וכאשר אעשה RenameSymbol התוכנית לא תפעל.
פורסם במקור בפורום CODE613 ב12/11/2013 14:30 (+02:00)