4
我有一類依賴項屬性,我們稱之爲「SomethingControl」:將PropertyChangedCallback標記爲異步是否安全?
public static readonly DependencyProperty SomethingProperty = DependencyProperty.Register("Something", typeof(Something), typeof(SomethingControl), new UIPropertyMetadata(SomethingGotSet));
而且我已經定義正在被傳遞到UIPropertyMetadata構造爲異步回調方法:
private async static void SomethingGotSet(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var control = (SomethingControl)d;
if (control != null)
{
control.SomeOtherProperty = await AsynchronousMethodCall();
}
}
這是安全的嗎?這是否會導致UI線程上的死鎖或問題?我測試過了,它似乎工作正常,但我找不到使用異步屬性回調方法的MSDN文檔中的任何內容。