0

我简直不敢相信这有多难。

我想编辑带有类型文本的控件的内容。我正在使用 lightswitch visual studio 2012。我想在屏幕代码中更改它(所以程序化)。

我给控件起了名字:“消息”。

现在,我正在尝试this.FindControl("Message").,但似乎没有任何属性可以调用来设置内容。我也不能将控件转换为正确的类型文本。甚至 Text 似乎也不是有效的类名。

有关如何设置此控件的内容的任何帮助?

编辑:我应该拍摄ControlAvailable活动并尝试在那里修改内容吗?

4

2 回答 2

0

实际上,试图在屏幕上设置控件的值是错误的做法。

在 LightSwitch 中,每个控件都绑定到一个属性(通常是实体的属性,但也可能是屏幕属性),因此设置该属性的值将更新控件。

因此,如果您有一个绑定到实体的详细信息屏幕(我们称之为ClientProperty),并且您有一个TextBox控件(我们称之为MessageControl)绑定到ClientPropertyMessage属性,那么您需要执行所有代码来更改该值是:

Me.ClientProperty.Message = "This is a message"

相反,如果您有一个绑定到屏幕属性(称为Message )的TextBox控件(同样,我们称之为MessageControl ) ,您的代码就像这样简单:

Me.Message = "This is another message"

您尝试这样做的方式似乎“很难”,因为它不应该那样做。

于 2013-01-09T09:28:16.733 回答
0

使用 this.FindControl("Message"),您走在了正确的轨道上。找到它后设置属性的方法如下:

this.FindControl("Message").SetProperty("propertyToSet", [new value])
于 2013-01-08T19:19:10.057 回答