wpf---> angular

liatYemini

New member
wpf---> angular

יש לי מסך בwpf שיש לו context אובייקט בc# כאשר האלמנטים במסך הם ביינדינג לפרופרטיס של האיביקט.

עכשיו נדרשתי להחליף את המסך לאנגולר. (שאני בכלל לא מכירה)
מחפשת, קוראת, אבל לא הבנתי איך אני עושה את הביינדינג לפרופ' של אובייקט ואיך אני מגדירה שהאובייקט יהיה context של המסך.
 
מה?

להחליף מסך של wpf באנגולר? מישהו שם התבלבל. wpf משמש לאפליקציות דסקטופ. כלומר, רצות על המחשב עצמו. אנגולר הוא ספריית javascript שמיועדת לרוץ בתוך הדפדפן, בתוך דף אינטרנט. אני לא חושב שהדברים הם ברי החלפה.
 

liatYemini

New member
הסבר

כל הפרוייקט הוא הWPF.
בתוך הפרוייקט צריך להיות קונטרול וובי. (דף אינטרנט דינאמי)
ולכן הציעו שיהיה אנגולר.
מה שצריך זה להציג דף אינטרנט שחלק מהנתונים ילקחו מפרופרטי של אובייקט שעד עכשיו היה מקושר בביידינג לפרופרטי של אובייקט c#.
 

marvin2

New member
הממ..

כשאת מציגה פקד WEB, את מן הסתם לא יכולה לעשות בינדינג לערכים שם. זה שתי מערכות שונות לחלוטין. במידה ואת צריכה לפתוח דף אינטרנט בהתאם למצבים שיש לך באפלקציה את יכולה להעביר פרמטרים ב QUERY STRING, אבל אני בספק שלזה התכוונת.
&nbsp
בכל אופן אם תרחיבי יותר על הסיטואציה ....
 

arielRuuubi

New member
ובכן

ראשית לאחר ההסבר הסוגיה מובנת
&nbsp
שנית בדפדפן כמו בדפדפן אין למה שיש בדפדפן עצמו שום קשר לאובייקט C# ולא יהיה לו.
&nbsp
מה שעושים זה סיריאליזציה, בד"כ למשתמשי אנגולר עושים בקשת AJAX, ואם רוצים לעדכן את האובייקט עושים עוד בקשות עדכון.
&nbsp
סדר הנושאים שחייבים ללמוד עבור דף אנגולר:
1. JS
2. ANGULAR JS
3. HTTP REQUEST
4. AJAX REQUEST
&nbsp
נראה לי יהיה הרבה יותר פשוט למי שבא מעולם הWPF לעשות asp.net forms כפרוייקט WEB ראשון מאשר לצלול לMCV ואנגולר
 

liatYemini

New member
אנסה לפשט את השאלה...

נניח אני רוצה ליצור דף וובי. בדף הזה יהיה textboxes שצריכים להיות מקושרים לאובייקט דוטנט.
הקישוב צריך להיות two way. ז"א שכאשר הדף יעלה - הוא יהיה מקושר נניח לאובייקט person.הדף יעלה עם נתונים שילקחו מהאובייקט. (נניח id,name). ושדות נוספים כמו כתובת וטלפון - המשתמש יזין והם צריכים להיכנס לפרופרטי של האובייקט.
מכיון שאני באה מעולם הwpf ולא מעולם הווב - לא ברור לי אם אני צריכה angula או js.
יש אולי למישהו דיגמא פשוטה איך קוד בjs יכול להתחבר לאובייקט בc#?
תודה...
 

MoAtlow

New member
אני חושב שכדאי לך לעבור על פרוטוקול HTTP

שמבוסס על תקשורת בקשה-תשובה.
הלקוח - (i.e דפדפן שמריץ אנגולר) "מבקש" מהשרת - שבמקרה שלך כתוב בC# בקשה מסויימת עם פרמטרים מסויימים, והשרת "עונה" ללקוח.
&nbsp
כמו שאריאל כתב. הייתי מדלג על האנגולר בשלב ראשון כדי להבין את צורת התקשורת והעבודה בעולם הWEB
 

marvin2

New member
תחשבי על הסנריו שלך בצורה אחרת

תפתח את התוכנת WPF שלך על חצי חלון, ותפתחי את הדפדפן שלך על הפרויקט אלגולר. עכשיו את מבקשת להתממשק בין קוד JS שרץ בפרוסס משלו לבין קוד דוט נט שרץ בפרוסס אחר. זה בדיוק מה שקורה לך, גם שאת "מארחת" את הדף האנגולר בתוך אפלקציית WPF. את פשוט מטמיעה דפדפן שמציג אתר שרץ בתוך פרוסס שלו, עם סטאק טכנולוגיות אחר לגמרי. אין שום קוד שיכול לחבר בין השניים.
&nbsp
מה שאת כן יכולה לעשות כאמור, זה להעביר כל מיני פרמטרים דרך ה URL. זהוא. אין כאן שום קשר לבינדינג או כל דבר דומה אחר. זה שני פרוססים. אחרים. ומופרדים לגמרי.
 
I find the aboves misleading

As the embedded wpf browser is COM IPC-able with the wpf app that spawned it, and exposes the window.external object (AKA ObjectForScripting) for your enjoyment.

I'd agree it's *better* to have your web thingy independent of that, but the "2 non related processes" analogy is incorrect.
 

marvin2

New member
אוקי, ו ?

נכון, הם בתכלס כנראה באותו פרוסס. וזה COM. תצליח לגשת ל DOM ? תצליח לעשות בינדינג בין פקד JS ל VM ב WPF? זה לא ישים, ולא לזה התכוונה השואלת
 
הם לא "באותו פרוסס". COM זה, בין השאר, פרוטוקול IPC

האם "תצליח לגשת ל-DOM"? אין צורך, IE עשו את זה עבורך עם window.external.

תצליח לעשות binding? לא יודע. לא ניסיתי.

כן היא *שאלה* מה ישים, זה לא פוטר אותנו מאחריות לתשובות מדוייקות.
 

marvin2

New member
לפי הלוגיקה שלך

אין דבר בעולם שאי אפשר לעשות לו בינדינג לפרופרטי ב WPF.
יש לי מחשב של אפל I שיושב במגדלור באנטרטיקה ? כן, רק נחבר את הסיריאל שלו לממיר ל IP, ניצור דריבר ב C, נעטוף את זה בעטיפה יפה לדוט נט, נעלה לנוגט, נתקין בפרויקט, קצת דקומנטציה למען הדורות הבאים, והופ. יש בינדינג. אפילו toWay.
 
למעלה