प्रतिक्रियाओं के लिए धन्यवाद।
जब मैं चयन चेंज किए गए ईवेंट पर ब्रेकपॉइंट डालता हूं, तो स्क्रीन पूरी तरह से लोड होने से पहले कार्यवाही तोड़ देती है। आप यह भी देखेंगे कि सूची में बाद में पहली पंक्ति 'चयनित' है। मैं एक चयनित इंडेक्स वैल्यू के लिए बाध्यकारी नहीं हूं जैसा कि आप कोड में देख सकते हैं। सूची के लिए डेटाकॉन्टेक्स्ट एक रीडोनली कोलेक्शन
मेरे चयन में परिवर्तन किया गया ईवेंट जैसा कि आप देख सकते हैं मैं चयनित वस्तुओं से संबंधित डेटा के साथ लोड होने के लिए अन्य ऑब्जेक्ट्स को सूचित करता हूं। मैं केवल तभी ऐसा करना चाहता हूं जब कोई चुना जाता है लेकिन डिफ़ॉल्ट सेट नहीं किया जाता है। मुझे इन सूची दृश्यों का प्रतिनिधित्व करना है जो समान डेटा का प्रतिनिधित्व करते हैं लेकिन लोड किए गए किसी भी आइटम में कोई आइटम नहीं होना चाहिए।
मैंने देखा है कि डिफ़ॉल्ट चयनित अनुक्रमणिका सूचीदृश्य के लिए प्रॉपर्टी विंडो पर -1 पर सेट है। मैं इसे सूची_लोडेड ईवेंट पर भी कोड सेट कर सकता हूं, लेकिन तब तक पहला चयन चेंज किया गया है।
<ListView PreviewMouseDown="ActiveCasesView_MouseDown" x:Name="ActiveCasesView"
DataContext="{StaticResource ActiveCasesViewSource}"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource CasesItemTemplate}"
SelectionMode="Single"
SelectionChanged="ActiveCasesView_SelectionChanged"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto" >
</ListView>
private void ActiveCasesView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mouseClicked)
if (e.AddedItems.Count > 0)
App.Messenger.NotifyColleagues(App.MSG_SELECT_ACTIVE_CASE, ((CaseViewModel)ActiveCasesView.SelectedItem).CaseNumber);
}
मैं एक संकेतक है कि मैं SelectionChanged घटना में सूचीदृश्य पर क्लिक किया है स्थापित करने के लिए PreviewMouseDown गयी। यह मदद करता है लेकिन मुझे विश्वास नहीं है कि यह सबसे अच्छा समाधान है।
धन्यवाद Petrus
हे पेट्रस जोड़ा। क्या आप अपना कोड साझा कर सकते हैं? – Anvaka