為什么WPF支持綁定到對(duì)象的屬性,而不支持字段?我有一個(gè)WCF服務(wù),它通過(guò)如下結(jié)構(gòu)傳遞狀態(tài)更新:[DataContract]public struct StatusInfo{
[DataMember] public int Total;
[DataMember] public string Authority;}...public StatusInfo GetStatus() { ... }我在ViewModel中公開(kāi)了一個(gè)屬性,如下所示:public class ServiceViewModel : ViewModel{
public StatusInfo CurrentStatus
{
get{ return _currentStatus; }
set
{
_currentStatus = value;
OnPropertyChanged( () => CurrentStatus );
}
} }XAML是這樣的:<TextBox Text="{Binding CurrentStatus.Total}" />當(dāng)我運(yùn)行應(yīng)用程序時(shí),我會(huì)在輸出窗口中看到錯(cuò)誤,表示無(wú)法找到Total屬性。我又查,打字正確。我突然意識(shí)到,這些錯(cuò)誤明確表示找不到“屬性”。因此,向結(jié)構(gòu)中添加一個(gè)屬性使其工作得很好。但這在我看來(lái)很奇怪,WPF無(wú)法處理單向綁定到字段。從語(yǔ)法上講,您在代碼中訪問(wèn)它們的方式是相同的,只為StatusInfo結(jié)構(gòu)創(chuàng)建一個(gè)自定義視圖模型似乎很愚蠢。我錯(cuò)過(guò)了關(guān)于WPF綁定的東西嗎?您可以綁定到某個(gè)字段,還是屬性綁定是唯一的方式?
2 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
- 2 回答
- 0 關(guān)注
- 1231 瀏覽
添加回答
舉報(bào)
0/150
提交
取消