【发布时间】:2017-12-11 23:00:55
【问题描述】:
尝试将 String 绑定到 RichTextBox.Text 属性,以便当 String 值更改时,该更改会反映在 RichTextBox 中。到目前为止,我没有成功。
string test = "Test";
rtxt_chatLog.DataBindings.Add("Text",test,null);
test = "a";
这会在 rtxt_chatLog 中显示“Test”,而不是“a”。
甚至尝试添加 rtxt_chatLog.Refresh();但这没有任何区别。
更新 1: 这也不起作用:
public class Test
{
public string Property { get; set; }
}
Test t = new Test();
t.Property = "test";
rtxt_chatLog.DataBindings.Add("Text", t, "Property");
t.Property = "a";
我没有正确理解数据绑定吗?
【问题讨论】:
-
你绑定硬编码字符串的目的是什么。你不想在绑定方面走相反的方向吗?你真正想要实现什么?您是否希望某些人输入的动态数据(例如编辑框)绑定到 ChatLog,或者您是否真的想将数据附加到 ChatLog..?
-
您按值绑定,而不是按引用绑定。这意味着只有
test("Test") 的当前值被传递,变量test的任何更改都不会影响文本框。 -
想达到什么目的?好吧,我想在一个窗口(幕后)中以字符串形式保存消息日志,然后根据用户的要求,弹出另一个窗口,该窗口将实时列出父表单中字符串的内容。我希望窗口更新,因为父表单中的字符串已更新。代码 sn-p 是我测试绑定的方式。
-
贾斯汀,我将如何通过引用绑定?
标签: c# winforms string data-binding richtextbox