كيف يمكنني اكتشاف عندما تغيرت قيمة الخلية في Silverlight؟
-
26-09-2019 - |
سؤال
أنا أعمل في Silverlight ، في محاولة لمعرفة كيفية ضبط لون خط خلية الشبكة استنادًا إلى محتويات الخلية.
لديّ ObservableCollection مرتبط بمخطط بيانات ، وتنفيذ العناصر الخاصة بي inoTifyPropertyChanged بحيث يتم تحديث الشبكة أثناء تغيير القيم ؛ كل شيء يعمل بشكل مثالي ، بما في ذلك السماح لي بفرز العناصر والحفاظ على الفرز أثناء تحديث العناصر الأساسية.
أعلم أنه يمكنني استخدام حدث LoadingRow لتغيير الألوان ، ولكن الطريقة الوحيدة التي يمكنني من خلالها الحصول على الحدث لإطلاق النار هي عن طريق تغيير مصدر بيانات الشبكات ، وفي هذه الحالة يخرج الفرز الخاص بي من النافذة.
لذا ، ما أريده حقًا هو وسيلة لأي منهما
- قم بحلق الصفوف الموجودة في بيانات البيانات ، والعثور على الخلية التي أحتاجها ، وتغيير لونها أو
- قم بتنفيذ عمود مخصص يمكنني استخدامه لتعيين اللون ديناميكيًا.
المشكلة هي كيف في الواقع فعل أي من هذه الأشياء :).
المحلول
يجب عليك استخدام بيانات DataBinding لهذا.
- ربط لون خط الخلية بمحتوى الخلية
- قم بإنشاء محول ivalueConverter يحول القيمة إلى لون اعتمادًا من احتياجاتك
انظر هنا للحصول على مثال جيد
http://weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx