4
由於標題已經說過,我在使用數據綁定和DependencyProperty時遇到了問題。我有一個類叫做HTMLBox:WPF依賴屬性 - 數據綁定不起作用
public class HTMLBox : RichTextBox
{
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(HTMLBox));
public string Text
{
get
{
return GetValue(TextProperty) as string;
}
set
{
Console.WriteLine("Setter...");
SetValue(TextProperty, value);
}
}
public HTMLBox()
{
// Create a FlowDocument
FlowDocument mcFlowDoc = new FlowDocument();
// Create a paragraph with text
Paragraph para = new Paragraph();
para.Inlines.Add(new Bold(new Run(Text)));
// Add the paragraph to blocks of paragraph
mcFlowDoc.Blocks.Add(para);
this.Document = mcFlowDoc;
}
}
我閱讀的文本屬性在構造函數,所以當一個字符串被綁定到的屬性應該顯示爲文本。但即使我將某些數據綁定到xaml中的Text屬性,我甚至不會看到「Setter ...」 - 設置Text屬性時應顯示的消息。
<local:HTMLBox Text="{Binding Text}"
Width="{Binding Width}"
AcceptsReturn="True"
Height="{Binding Height}" />
如果我將HTMLBox更改爲TextBox,文本顯示正常,所以錯誤可能是我的HTMLBox類中的somwhere。我究竟做錯了什麼?
謝謝,使用改變事件處理程序解決了這個問題。看起來像我有很多東西要學習:) – BoltzmannBrain