我有一個用戶控件(x:Name = UserControl1),這是我在另一個控件(x:Name = UserControl2)中使用的。現在當UserControl2中的複選框被設置時,只有UserControl1被啓用。我想將焦點設置爲UserControl1中的某個特定文本框,只要它啓用。是否有任何事件或任何通過UserControl1得知其啓用狀態變爲1的事件?如何知道WPF用戶控件是否被啓用?
0
A
回答
0
首先,正如前面的答案所述,IsEnabled
是一個依賴項屬性,因此您可以設置一個綁定,以便在發生更改時執行某些操作。你說「這是必須的,以便它可以將焦點設置在某個特定的控件中」,在這種情況下,您可能想要在子控件的屬性上設置綁定(例如IsFocused
)。
如果您有一些您需要的特定邏輯,您可以始終設置您自己的依賴項屬性,將其綁定到IsEnabled
,然後在更改的處理程序中設置您的自定義邏輯。還是做基本沒有建立一個新的依賴屬性同樣的事情,你可以自己改變處理與AddOwner
添加到IsEnabled
:
UIElement.IsEnabledProperty.AddOwner(typeof(MyUserControl), new FrameworkPropertyMetadata(OnIsEnabledChanged));
public static void OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((MyUserControl)d).DoSomething();
}
0
UserControl
類的IsEnabled
屬性是一個依賴項屬性,這意味着您可以將它綁定到您選擇的屬性並掛接到那裏。
+0
對。我可以綁定UserControl2的xaml內的usercontrol1的IsEnabled屬性。但在這裏我想知道內部usercontrol1,如果它(usercontrol1)被啓用。並且它是必需的,以便它可以將焦點集中到其中存在的某種特定控制。 – 2011-06-10 07:24:54
相關問題
- 1. 你怎麼知道你的WPF控件是否被渲染?
- 2. 如何知道MediaScanner是否已啓用?
- 3. 如何知道應用是否被用戶終止?
- 4. 如何知道被調用的文件是否返回錯誤?
- 5. 如何知道PHAsset是否被修改?
- 6. 如何知道webkitSpeechRecognition是否啓動?
- 7. 如何知道給定控件的OutputCache是否正在使用?
- 8. ExpressionEngine讓用戶知道url_title是否已經被使用
- 9. 如何知道控件對用戶是可見的? (winforms)
- 10. 如何知道用戶是否已下載文件
- 11. 如何知道用戶是否下載文件?
- 12. 如何知道Android應用程序是否被禁用ICS
- 13. Android:我如何知道Activity.onStop()是否因爲用戶要回家而被調用?
- 14. 在WPF中,如何確定控件是否對用戶可見?
- 15. c#:如何知道'用戶帳戶'是否存在於Windows?
- 16. 如何知道用戶是否擁有Facebook帳戶?
- 17. 如何知道用戶是否在線/使用解析登錄?
- 18. 如何知道用戶是否使用代理?
- 19. 如何知道用戶是否使用多臺顯示器
- 20. 如何知道用戶是否強制退出應用程序?
- 21. 如何知道實例是否已準備好被調用?
- 22. 我如何知道對象是否可以被弱引用?
- 23. 如何知道對象是否已被引用?
- 24. 如何知道setupUi是否已經被調用
- 25. 如何知道dealloc是否在iphone sdk中被調用?
- 26. 如何知道FastCGI是否被用來運行PHP腳本
- 27. Django如何知道queryset是否被緩存?使用johnnycache
- 28. 如何知道一條記錄是否被刪除使用c#
- 29. DirectShow如何知道攝像頭是否被使用?
- 30. 如何知道在java中是否啓用了JRadioButton
我發現,解決我的問題的替代方案(採用了不同的方法)。但仍然歡迎回答。 – 2011-06-10 07:39:10