से अपडेट करना मेरे पास एक स्ट्रिंग निर्भरता प्रॉपर्टी (सर्चटेक्स्ट) है, जब अपडेट किया गया है, तो संग्रह निर्भरता संपत्ति (परिणाम) को अपडेट करने की आवश्यकता है।
मेरे संग्रह डी पी:एक निर्भरता प्रॉपर्टी को अन्य
public IEnumerable<string> Results{
get { return (IEnumerable<string>) GetValue(ResultsProperty); }
set { SetValue(ResultsProperty, value); }
}
public static readonly DependencyProperty ResultsProperty=
DependencyProperty.Register("Results", typeof(IEnumerable<string>), typeof(MainWindowVM), new UIPropertyMetadata(new List<string>()));
मैं कोई भाग्य के साथ इस की कोशिश की। मैंने परिणाम = .... लाइन पर ब्रेकपॉइंट लगाया और यह कभी हिट नहीं हुआ।
public string SearchText{
get { return (string) GetValue(SearchTextProperty); }
set {
Results =
from T in Tree.GetPeople(value)
select T.FullName;
SetValue(SearchTextProperty, value);
}
}
public static readonly DependencyProperty SearchTextProperty=
DependencyProperty.Register("SearchText", typeof(string), typeof(MainWindowVM), new UIPropertyMetadata(""));
XAML:
<TextBox DockPanel.Dock="Top" Text="{Binding SearchValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<ListBox DockPanel.Dock="Top" ItemsSource="{Binding NameResults}" SelectedItem="{Binding Search}" />
-1, यह 'second' संपत्ति पर बाध्यकारी टूट जाएगा क्योंकि setValue SetCurrentValue के स्थान पर किया जाएगा (http://stackoverflow.com/ देखना प्रश्न/4230698/क्या-अंतर-बीच-निर्भरता-संपत्ति-setValue-setcurrentvalue)। – Benlitz
आज सच है, मैं आपको दूंगा। हालांकि, उस समय यह उत्तर लिखा गया था, .NET Framework 3.5 सबसे वर्तमान संस्करण था जिसमें SetCurrentValue सदस्य नहीं था। (रेफरी: https://msdn.microsoft.com/en-us/library/system.windows.dependencyobject_members(v=vs.90).aspx) आधुनिकीकरण के लिए कोई टिप्पणी या अतिरिक्त उत्तर के लायक है, लेकिन IMHO यह एक डाउन वोट वारंट नहीं करता है। –