के लिए सिंक्रनाइज़ करना स्क्रॉल पदों मैं सिंक्रनाइज़ क्षैतिज स्क्रॉल स्थिति 2 WPF डेटा ग्रिड नियंत्रण के कोशिश कर रहा हूँ।2 WPF datagrids
<toolkit:DataGrid x:Name="SourceGrid" ScrollViewer.ScrollChanged="SourceGrid_ScrollChanged">
मैं एक दूसरे डेटा ग्रिड है:
<toolkit:DataGrid x:Name="TargetGrid">
ईवेंट हैंडलर में मैं IScrollInfo.SetHorizontalOffset
उपयोग करने के लिए प्रयास कर रहा था
मैं की सदस्यता हूँ पहले डेटा ग्रिड के घटना ScrollChanged, लेकिन हां, डेटाग्रिड IScrollInfo
का खुलासा नहीं करता है:
private void SourceGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
((IScrollInfo)TargetGrid).SetHorizontalOffset(e.HorizontalOffset);
// cast to IScrollInfo fails
}
क्या इसे पूरा करने का कोई और तरीका है? या क्या लक्ष्यग्रिड पर एक और तत्व है जो स्क्रॉल पोजीशन के सिंक्रनाइज़ेशन को प्राप्त करने के लिए आवश्यक IScrollInfo
का खुलासा करता है?
बीटीडब्ल्यू, मैं जमे हुए कॉलम का उपयोग कर रहा हूं, इसलिए मैं स्क्रॉलव्यूर्स के साथ डेटाग्रिड नियंत्रण दोनों को लपेट नहीं सकता।
हाँ। मैंने अतीत में वही काम किया है, हालांकि। ऐसा लगता है कि हमें इस तरह के दृश्य पेड़ के माध्यम से हैक करना नहीं चाहिए। बस एक और तरीका है कि डब्ल्यूपीएफ किनारों के चारों ओर मोटा है। – PeterAllenWebb
सावधान रहें जब उपयोगकर्ता दृश्य विषयों को बदलता है - नियंत्रण तब नए टेम्पलेट्स (= नए दृश्य पेड़) प्राप्त करें, और आप गलत स्क्रॉलव्यूअर के संदर्भ में होंगे। आपको OnApplyTemplate में प्रतिक्रिया देनी चाहिए, और जब भी इसे बुलाया जाता है तो वास्तविक स्क्रॉलव्यूअर को देखें। Http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.onapplytemplate.aspx देखें –