[英]Why does DataContractJsonSerializer skip deserializing some properties?
[英]Why are some properties unaccessable
為什么我不能訪問該屬性?
因為FrameworkElement
確實沒有Text
屬性。
派生自FrameworkElement
的TextBox
具有Text
屬性,因此您可以將EditingElement
轉換為TextBox
然后訪問該屬性:
string text = (e.EditingElement as TextBox)?.Text;
Visual Studio 在 memory 中顯示實際 object 的屬性。
將 UI 用作數據存儲並嘗試直接使用它不是一個好主意。
您應該將 t 的 observablecollection 綁定到數據網格的 itemssource 並使用 t 的每個實例。
這將更容易使用。
至於為什么有些屬性無法訪問?
這是因為這些屬性並不在您認為的位置。 DatagridCell 中嵌套了一系列內容。
DataGridCell > 邊框 > ContentPresenter > TextBlock
下載 snoop https://github.com/snoopwpf/snoopwpf或使用 chocolatey / 你喜歡的方法安裝。
運行窺探。
運行您的應用程序。
將正確的瞄准具拖到你身上 window。
一個 window 應該打開兩個面板。 控件和屬性。
將鼠標懸停在數據網格單元格上。
按 shift+ctrl,您應該會在 ui 樹中看到鼠標下選中的元素。
數據網格非常復雜,每一行中都有多個內容。
看到那個文本塊了嗎?
那就是具有文本屬性的東西。
或者至少當您不處於編輯模式時就是這樣。
切換到編輯模式,我有一個 TextBoxView。
所以一個復雜的問題是,你在給定的時間和誰一起工作?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.