我有WPF中綁定的一個問題。我發現了一個奇怪的問題。我有從DbConnectionStringBuilder繼承的類ConfiugrationStringBuilder。當我水木清華這樣奇怪的WPF結合
public class ConfiugrationStringBuilder : DbConnectionStringBuilder
{
public string Directory { get;set; }
}
ConfiugrationStringBuilder builder = new ConfiugrationStringBuilder(connStr);
builder.Directory = "d:\dir"; //my property
txtBox.DataContext = builder;
再加入結合的XAML txtBox
<TextBox Name="txtBox" Text="{Binding Path=Directory}"></TextBox>
的問題是,上面的代碼不起作用。我不能綁定到我的類屬性,但我可以綁定到基地DbConnectionStringBuilder的公共性的判定。
而且最有趣的事情是,當我自DbConnectionStringBuilder
刪除繼承,所以我的代碼看起來像這樣
public class ConfiugrationStringBuilder
{
public string Directory { get;set; }
}
在這種情況下,上述的結合效果很好。我無法找到關於這種情況的任何信息,爲什麼在這種情況下綁定不起作用?有人可以解釋這種行爲嗎?
當我在寫我想調查什麼是一個問題qusetion。並發現DbConnectionStringBuilder有索引,所以當嘗試綁定到Path=Directory
在後臺它builder["Directory"]
不builder.Directory
。無論如何,有人可以告訴我爲什麼這樣做嗎?