亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

代碼隱藏:檢查控件的屬性是否已綁定

代碼隱藏:檢查控件的屬性是否已綁定

C#
江戶川亂折騰 2021-10-31 19:11:30
我正在尋找一種方法來檢查后面的代碼,如果控件的屬性已被綁定并且似乎無法找到正確的方法來做到這一點。我想我需要先獲取 FieldInfo(在通用方法中使用 System.Windows.Controls.Control 控件):FieldInfo te = null;foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(control)){    if (prop.Name.Equals("Visibility"))    {        te = control.GetType().GetField(prop.Name + "Property");        break;    }}...確實找到了 PropertyDescriptor,但沒有找到 FieldInfo。FieldInfo gg = control.GetType().GetField("Visibility", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);FieldInfo gg1 = control.GetType().GetField("VisibilityProperty", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);FieldInfo gg2 = typeof(Control).GetField("Visibility", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);FieldInfo gg3 = typeof(Control).GetField("VisibilityProperty", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);...都返回 null 作為 FieldInfo。找到 FieldInfo 后,我想通過執行以下操作來檢查該值是否已綁定:DependencyProperty dp = (DependencyProperty)field.GetValue(control);if (control.GetBindingExpression(dp) == null) ...有任何想法嗎?
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

您可以嘗試使用BindingOperations.GetBinding來獲取綁定對象。喜歡,


// textBox3 is an instance of a TextBox

// the TextProperty is the data-bound dependency property

Binding myBinding = BindingOperations.GetBinding(textBox3, TextBox.TextProperty);


查看完整回答
反對 回復 2021-10-31
  • 1 回答
  • 0 關注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號