2011-09-06 53 views
0

我有兩個簡單的自定義控件派生自標準的WPF控件。即控件交互問題

internal class CustomLabel : Label { ... } 

internal class CustomButton : Button { ... } 

(好吧,其實我用GridViewHeaderRowPresenter和DataGrid從WPF工具包,沒有標籤和按鈕)。

在xaml中,它們位於相同的層次結構級別。

<Grid> 
    <CustomLabel /> 

    <CustomButton /> 
</Grid> 

CustomButton控件應該以某種方式響應CustomLabel的事件(比如SizeChanged事件)。什麼是實施這個最好的方法?

到目前爲止,我決定遍歷邏輯樹以在CustomLabel的事件處理程序中查找CustomButton並更改一些屬性。有更好的方法嗎?

請注意我正在使用.net 3.5,所以不能使用x:引用標記擴展名。

+0

是可視化樹遍歷是可選項。 –

回答

1

您可以爲您的控件命名並在您的代碼中使用此名稱訪問它們。如果您只想在XAML中完成它,請考慮數據綁定以及您是否可以使用此方法實現您的目標。