DependencyObject.RegisterPropertyChangedCallback 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
註冊通知函式,以接聽此DependencyObject實例上特定DependencyProperty的變更。
public:
virtual long long RegisterPropertyChangedCallback(DependencyProperty ^ dp, DependencyPropertyChangedCallback ^ callback) = RegisterPropertyChangedCallback;
public long RegisterPropertyChangedCallback(DependencyProperty dp, DependencyPropertyChangedCallback callback);
function registerPropertyChangedCallback(dp, callback)
Public Function RegisterPropertyChangedCallback (dp As DependencyProperty, callback As DependencyPropertyChangedCallback) As Long
參數
要註冊屬性變更通知之屬性的相依性屬性識別碼。
- callback
- DependencyPropertyChangedCallback
以 DependencyPropertyChangedCallback 委派為基礎的回呼,系統會在指定的屬性值變更時叫用此委派。
傳回
long long
代表回呼的權杖,用來識別 UnregisterPropertyChangedCallback呼叫中的回呼。
範例
此範例示範如何使用DependencyPropertyChangedCallback委派來接聽TextBlock上Tag屬性的變更。
<TextBlock x:Name="textBlock1" Text="Hello, world"/>
long tagToken;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
tagToken = textBlock1.RegisterPropertyChangedCallback(TextBlock.TagProperty, tbTagChangedCallback);
base.OnNavigatedTo(e);
textBlock1.Tag = "name";
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
textBlock1.UnregisterPropertyChangedCallback(TextBlock.TagProperty, tagToken);
base.OnNavigatedFrom(e);
}
private void tbTagChangedCallback(DependencyObject sender, DependencyProperty dp)
{
if (dp == TextBlock.TagProperty)
{
// These lines produce the same result.
System.Diagnostics.Debug.WriteLine("The tag has been set to " + ((TextBlock)sender).Tag);
System.Diagnostics.Debug.WriteLine("The tag has been set to " + sender.GetValue(dp));
}
}
備註
使用 RegisterPropertyChangedCallback 取得已定義為 XAML 架構一部分之相依性屬性的屬性變更通知。 這適用于尚未追蹤變更的對應 XAML 架構事件的屬性。 例如, FrameworkElement.Tag 是現有的 XAML 架構相依性屬性,而且您的應用程式可以在該屬性的值變更時追蹤,因為某些外部輸入 (像是資料系結) 在應用程式 UI 的特定物件實例上變更該屬性的運行時間值。
若要取消註冊回呼,請呼叫 UnregisterPropertyChangedCallback 並傳入此方法傳回的權杖。
您通常不會用於 RegisterPropertyChangedCallback
自訂相依性屬性上的通知,因為自訂相依性屬性已經有方法可註冊屬性變更的處理常式,以提供事件引數中更多資料。 如需詳細資訊,請參閱自訂相依性屬性。