דילוג לתוכן

הפורום כעת לקריאה בלבד, לקריאה נוספת.

  • האצת TreeView ב-WPF על ידי וירטואליזציה עצמית

    תכנות
    2
    1 הצבעות
    2 פוסטים
    520 צפיות
    dovidD
    @pcinfogmach כתב בהאצת TreeView ב-WPF על ידי וירטואליזציה עצמית: כמו"כ אשמח לשמוע רעיונות איך להפוך את זה למשהו יותר כללי (כרגע הוא מגבל לסוג datacontext מסויים מאוד. public static class TreeItemVirtualizationBehavior { public static bool GetEnableVirtualization(DependencyObject obj) => (bool)obj.GetValue(EnableVirtualizationProperty); public static void SetEnableVirtualization(DependencyObject obj, bool value) => obj.SetValue(EnableVirtualizationProperty, value); public static readonly DependencyProperty EnableVirtualizationProperty = DependencyProperty.RegisterAttached("EnableVirtualization", typeof(bool), typeof(TreeItemVirtualizationBehavior), new PropertyMetadata(false, OnEnableVirtualizationChanged)); private static void OnEnableVirtualizationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var item = (TreeViewItem)d; if ((bool)e.NewValue) { item.Expanded += setSource; item.Collapsed += setSource; item.Loaded += setSource; } else { item.Expanded -= setSource; item.Collapsed -= setSource; item.Loaded -= setSource; } } public static Func<object, bool> needPlaceHolders = (s) => false; private static void setSource(object sender, RoutedEventArgs e) { var treeViewItem = (TreeViewItem)sender; if (needPlaceHolders(treeViewItem.DataContext)) treeViewItem.ItemsSource = Enumerable.Repeat("", 1); } } צריך להפוך לספציפי בטעינת האפליקציה על ידי השמה של needPlaceHolders: TreeItemVirtualizationBehavior.needPlaceHolders = (dataContext) => dataContext is TreeItem treeItem && treeItem.Items?.Any() == true; יש מצב שלא הבנתי מה שהקוד צריך לעשות ואם ככה שטעיתי גם בהצעה.
  • שגיאת דפדפן "לא ניתן היה למצוא את כתובת ה-DNS"

    תכנות
    2
    1
    0 הצבעות
    2 פוסטים
    533 צפיות
    מדמ
    שיעשה כפי המבואר כאן https://netfree.link/wiki/בעיות_dns (גם אם אין לו נטפרי, לא קשור)
  • החלפות עבור שמות הקדושים במאגר תורני

    תכנות
    8
    0 הצבעות
    8 פוסטים
    843 צפיות
    מ
    @צדיק-תמים כתב בהחלפות עבור שמות הקדושים במאגר תורני: @מטעמים זה סתם חובבנות, כאמור: (בתקופת האבן, כשהאתר עדיין היה בחיתוליו... ) @צדיק-תמים כתב בהחלפות עבור שמות הקדושים במאגר תורני: למעשה לדעתי אין סיבה לעשות את ההחלפות בטקסט המקור אלא בשלב התצוגה. רעיון מדהים. קניתי.
  • זהירות מדליפת זיכרון בעת שימוש ב-Regex Match ב-#C

    תכנות
    1
    2 הצבעות
    1 פוסטים
    353 צפיות
    אין תגובות
  • 0 הצבעות
    3 פוסטים
    540 צפיות
    dovidD
    אני לא אוהב את הרג'יסטרי, כי הוא פחות תומך, פחות שקוף, פחות קריא ופחות נגיש מאשר קבצים (וגם הוא ספציפי לפלטפורמה, אם כי זה לא הטריד אותי אף פעם). מה יותר קל לגבות? לשחזר? לקרוא? להבין? להכיל סוגי מידע עשירים (למשל מערך)? קבצי הגדרות פר משתמש מקובל לשים בappData, הגדרות כלליות למחשב (נדיר!) בProgramData. אני אישית תמיד שם את קובץ ההגדרות צמוד לתכונה, כמו הconfig של פעם. אני כיום לא משתמש עם הconfig הXML של .net framework, אלא עם JSON (לא הappsetting.json של .net אלא סתם קובץ משלי). יש מעלה למובנה, הוא תומך בסביבות ועוד, אבל לי נח שאני מחליט הכל וזהו. יוצר מחלקה עם מה שבא לי, ומבצע סריאלזציה/דסריאליזציה ושלום.
בא תתחבר לדף היומי!