मैं सफलतापूर्वक एक डेटा ग्रिड में एक स्तंभ एक नमूदार संग्रह करने के लिए वस्तुओं INotifyPropertyChanged इंटरफ़ेस को लागू करने के साथ बंधे हुए है वस्तुओं वर्ग:INotifyPropertyChanged GridColumn
public string Name
{
get { return _name; }
set
{
if (value == _name) return;
_name = value;
OnPropertyChanged("Name");
}
}
लेकिन एक और स्तंभ में मैं एक खाका उपयोग कर रहा हूँ:
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<Rectangle Height="19" Width="19" Fill="{Binding Path=Data.StatusColor}"></Rectangle>
</StackPanel>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
आयत के भरण संपत्ति एक "गणना" संपत्ति के लिए बाध्य है:
public SolidColorBrush StatusColor
{
get
{
if (StapelStatus == StapelStatus.Neu)
{
return new SolidColorBrush(Colors.CornflowerBlue);
}
return new SolidColorBrush(Colors.DarkOrange);
}
}
कुछ अन्य संपत्ति setters, बुला रहे हैं
OnPropertyChanged("StatusColor");
मैंने सोचा था कि जो StapelStatus
का मूल्य बदल यह ग्रिड कॉलम में आयत रंग में रंग बदलने के लिए पर्याप्त होगा। लेकिन दुर्भाग्यवश जब StapelStatus
बदल दिया गया है और OnPropertyChanged("StatusColor")
कहा जाता है तो ग्रिड इस परिवर्तन को प्रतिबिंबित नहीं करता है। मुझे लगता है कि मुझे किसी भी तरह DataTemplate
में बाध्यकारी बदलना है। क्या कोई मुझे सलाह दे सकता है?
तुम क्यों StatusColor बंधन का मार्ग में 'Data.' की क्या ज़रूरत है:
स्तंभ के लिए काम XAML नीचे? – Jay
फ्रैंक होने के लिए, मुझे कोई संकेत नहीं है। मैंने इसे एक कामकाजी उदाहरण में पाया है। अगर मैं डेटा हटा देता हूं। मूल्य डेटा टेम्पलेट में बिल्कुल दिखाई नहीं देगा। –
क्या आप सुनिश्चित हैं कि DataTemplate के लिए DataContext सही है? क्या समान श्रेणी का नाम और स्थिति रंग गुण है? – snurre