tüm kontrollerin ben aramak zorunda true döndüren bir InvokeRequired
özelliği var. Değiştirmek amacıyla kumanda üzerindeki çağır [başlayın].Doğru kullanım Dispatcher.CheckAccess (veya atanmamış-kullanım)() Win yılında
WPF'de, DispatcherObject.CheckAccess()
ve Dispatcher.CheckAccess()
'da görünüşte benzer bir yapı var, ancak EditorBrowsable(EditorBrowsableState.Never)
özniteliğinden korkuyorum. Editörün bu şekilde göz atmasını devre dışı bıraktığımda, "'u yapmamalısınız. Bunu gerçekten yapmalısınız. Gerekirse, acil sorununuzu çözmeniz gerekiyorsa, çözümünüzü sorunlu sorununuza yanlış şekilde tasarlamışsınızdır." Öte yandan, bulduğum tek alternatif (ve orijinal çözümüm) Thread.CurrentThread.ManagedThreadId == 1
. (Bu korkunç. Ve ben biliyorum. O jenerik durumda çalışmaz. Bu benim sınırlı kullanımlar için çalışır, ama.)
MSDNdocumentationEditorBrowsable
özelliğin arkasında varlığı ve mantığa sessizdir. Gerçekten de, “bunu kullanmama” anlamına geliyor mu, yazmış olsaydım ya da başka daha az yasaklayıcı bir anlamı var mı?
MSFT'den birkaç kişi bu yayında yanıtlamış gibi görünüyordu. http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/bd0e6f6c-cadd-48f1-8e1a-163c2f17e4ca/ Seems 'EditorBrowsableState.Advanced' daha uygun olabilir, ancak görünmüyor neden çağrılmaması gerektiğine dair herhangi bir teknik neden (en azından o iş parçasından). – keyboardP