निम्नलिखित सरल WPF आवेदन में पर क्लिक LostFocus को बढ़ाया नहीं गया एक TextBox
जब फोकस तोपाठ बॉक्स जब कुछ अन्य नियंत्रण
<DockPanel>
<ToolBar DockPanel.Dock="Top">
<Button>Test</Button>
</ToolBar>
<TextBox Text="{Binding MyString}" />
</DockPanel>
public MainWindow()
{
InitializeComponent();
DataContext = this;
}
public string MyString
{
get { return _myString; }
set { _myString = value; }
}
हालांकि जब मैं चलाने की तरह है, कि नियंत्रण से खो दिया है एक संपत्ति अद्यतन करने के लिए सेट कर दिया जाता इस आवेदन, पाठ बॉक्स में कुछ पाठ दर्ज करें और फिर MyString
संपत्ति पर मेरी ब्रेकप्वाइंट नहीं उठाया, भी FocusLost
घटना के लिए किसी भी इवेंट हैंडलर या तो बढ़ाया नहीं गया है "टेस्ट" बटन पर क्लिक करें। इन घटनाओं केवल उठाया जाता है जब फ़ोकस को किसी और तरीके के माध्यम से नियंत्रण से खो दिया है (उदाहरण के लिए विंडो बंद हो)।
यह वास्तव में के रूप में हमारे लिए समस्याएं खड़ी कर रहा है "टेस्ट" बटन तर्क जो MyString
संपत्ति अपडेट की जा रही पर निर्भर करता है शामिल हैं।
मैं कैसे सुनिश्चित कर सकता हूं कि FocusLost
ईवेंट सही ढंग से उठाया गया है और बाध्यकारी अद्यतन किया गया है क्योंकि मैं "टेस्ट" बटन पर क्लिक करता हूं? ऐसा लगता है कि समस्या किसी भी तरह एक मानक बटन के साथ ToolBar
की जगह इस व्यवहार में परिणाम नहीं करता है के रूप में, ToolBar
के उपयोग के कारण होता है।