का उपयोग करके सभी, मैं एक लूप के लिए एक लूप का उपयोग कर एक लूप के लिए लूप करने का प्रयास कर रहा हूं, जो प्रत्येक लूप के लिए गलत कोशिकाओं के पृष्ठभूमि रंग को बदलने के लिए उपयोग कर रहा है। मैंने कई प्रश्नों की जांच की है लेकिन मुझे अभी तक पर्याप्त उत्तर नहीं मिला है। क्या मैं अब तक हैडब्ल्यूपीएफ डाटाग्रिड के माध्यम से लूपिंग फोरैच
public void RunChecks()
{
const int baseColumnCount = 3;
foreach (DataRowView rv in dataGrid.Items)
{
for (int i = baseColumnCount; i < dataGrid.Columns.Count; i++)
{
if (!CheckForBalancedParentheses(rv.Row[i].ToString()))
{
Color color = (Color)ColorConverter.ConvertFromString("#FF0000");
row.Background = new SolidColorBrush(color); // Problem!
}
}
}
}
समस्या यह है कि आदेश मेरी DataGrid
में एक पंक्ति का Background
रंग बदलने के लिए में मैं DataGridRow
वस्तु DataRowView
rv
साथ ascociated साथ काम करने की जरूरत है।
मैं वस्तु rv
(DataRowView
) से DataGridRow
के लिए एक संदर्भ कैसे मिलता है?
आपके समय के लिए धन्यवाद।
संपादित करें। नीचे दी गई सलाह के आधार पर अब मेरे पास निम्न शैली है जो माउस पर ईवेंट के साथ काम करती है और प्रासंगिक सेल के पीछे और आगे फ़ॉन्ट सेट करती है। हालांकि, मैं वास्तव में खो गया हूं कि ऊपर दिए गए कोड में रन-टाइम पर सेल में बैककलर को कैसे लागू किया जाए। एक्सएमएल शैली
<Window.Resources>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontWeight" Value="ExtraBold" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
आपके समय के लिए धन्यवाद। मैं आपकी सलाह लेगा और पढ़ना शुरू कर दूंगा। मैं बिना किसी किस्मत के रंग और पूरे कॉलम की कोशिश कर रहा हूं। मैंने एक और सवाल पूछा है [यहां] (http://stackoverflow.com/questions/15644105/change-the-background-color-of-entire-column-of-wpf-datagrid-at-runtime) यदि आप बोरेड हो सकते हैं और प्रतिनिधि चाहते हैं। धन्यवाद फिर से ... – MoonKnight
@ किल्करम: विचार पंक्तियों और स्तंभों के लिए समान है। यदि यूआई ऑब्जेक्ट ने कुछ संपत्ति (इस मामले में रंग) साबित किया है जिसे या तो प्रत्यक्ष पहुंच या बाध्यकारी के माध्यम से बदला जा सकता है, तो आप अपने मॉडलव्यू ऑब्जेक्ट से बाइंडिंग का उपयोग करते हैं। – Tigran
धन्यवाद। स्टाइल, ट्रिगर्स इत्यादि पर एक पुस्तक से एक अध्याय पढ़ना। अब मुझे घटना पर माउस पर पंक्ति बदलते रंग मिल गए हैं। हालांकि, मैं इस शैली का उपयोग कर रन-टाइम पर कोड से आवश्यक रंग में सेल/पंक्ति को बदलने के तरीके के रूप में खो गया हूं। यदि आप यहां कोई मदद दे सकते हैं तो इसकी सराहना की जाएगी ... मैंने अपनी शैली को दिखाने के लिए प्रश्न संपादित किया है। – MoonKnight