給定對XAML中定義的對象的引用,是否可以確定x(對象是否爲x):對象具有的名稱,還是我只能通過訪問FrameworkElement.Name屬性來執行此操作(如果對象是FrameworkElement) ?你可以採取如何從代碼中獲取x:對象的名稱?
4
A
回答
5
一種方法是首先檢查如果對象是一個FrameworkElement
,如果沒有,嘗試反射來獲取名稱:
public static string GetName(object obj)
{
// First see if it is a FrameworkElement
var element = obj as FrameworkElement;
if (element != null)
return element.Name;
// If not, try reflection to get the value of a Name property.
try { return (string) obj.GetType().GetProperty("Name").GetValue(obj, null); }
catch
{
// Last of all, try reflection to get the value of a Name field.
try { return (string) obj.GetType().GetField("Name").GetValue(obj); }
catch { return null; }
}
}
相關問題
- 1. 從對象中獲取對象名稱
- 2. 如何從json對象獲取代碼
- 3. 如何獲取JValue對象的名稱
- 4. 如何獲取類的對象名稱?
- 5. 在C#中,如何從對象中獲取控件的名稱?
- 6. 如何訪問x:代碼中的名稱屬性 - 對於非FrameworkElement對象?
- 7. 迭代對象並獲取名稱
- 8. 如何從JavaScript中的json對象獲取參數的名稱?
- 9. 獲取對象的名稱
- 10. 獲取對象的名稱
- 11. 如何從任何號碼獲取國家名稱/代碼
- 12. 如何從nsdictionary對象中獲取名稱和url的值?
- 13. 如何從對象中獲取Xamarin.Forms元素的名稱?
- 14. 如何從Tridion中的模式對象獲取模式名稱?
- 15. 如何從SciPy中的scipy.stats.distribution對象獲取分配名稱?
- 16. SimpleXML - 如何獲取根對象名稱?
- 17. 如何獲取對象名稱?
- 18. 如何獲取對象名稱?
- 19. C# - 如何從語言代碼中獲取語言名稱?
- 20. 無法從objectobservable獲取對象名稱
- 21. 從FileInfo對象獲取目錄名稱
- 22. python:如何從代碼對象獲取源代碼?
- 23. jquery:獲取對象名稱?
- 24. C# - 獲取對象名稱?
- 25. 獲取對象名稱
- 26. 在iOS中如何從ViewController名稱獲取對象?
- 27. 如何從類別名稱中獲取類別對象
- 28. 我如何從這個對象中獲取名稱和ID?
- 29. 如何從對象中獲取成員名稱?
- 30. 如何從對象數組中獲取名稱
你擁有的對象引用將基於的名稱對象已經,不是嗎?你還有什麼可以獲得在xaml中定義的對象引用? – VoodooChild 2010-06-17 23:34:37
在由IServiceProvider.GetService獲取的自定義MarkupExtension中。 – devios1 2010-06-17 23:46:02
@VoodooChild通過導航可視/邏輯對象樹。 – Neutrino 2013-08-29 15:10:49