我有一個自定義控件,包含一個TreeView,一個帶有幾個按鈕的工具欄和一個文本框。如何在UI更改時正確導航對象列表?
然後,我有一個類Issue
有幾個string
和bool
性能(最重要的string ID
和string[] files
)以及一個Projects
類,其中包含2 List<Issue>
,其他的一些特性,並與該列表交互的一些方法。
TreeView
將Project.ID
顯示爲「父」節點,將Issue.ID
顯示爲「子」節點。 Textbox
顯示當前選定的Issue
子節點的files
屬性。
我不知道在用戶選擇TreeView
中的不同項目時,如何在讀取/寫入數據時瀏覽我的Project.IssueList1
和Project.IssueList2
。
目前,在TreeView_AfterSelect
事件中,我找到Issue
在列表中,並設置textbox1.Lines = issue.files
然後在Textbox_TextChanged
事件中,我指定Lines
值回issue.files
。這是功能性的,一切正常,但我不喜歡它。它感覺馬虎和「哈克」。
99.9%的時間,用戶複製粘貼一個或多個文件路徑到UI中,所以它不像每次他們輸入內容時觸發事件,但我仍然不喜歡這種方法。
有沒有辦法將控件綁定到對象,並讓框架類型負責遍歷列表和更新UI?我想這是ORM的目的,但我不確定是否有類似的內置。
我認爲一個文本框可能是你的'string [] files'錯誤的用戶控件。一種方法是使用'BindingList'作爲文件和'Listbox'作爲控件,然後將'BindingList'設置爲'Listbox'的'Datasource'。 –
Koryu
我必須看看'BindingList',我不熟悉那個對象。我剛剛使用了「文本框」,因爲它似乎是最簡單,最「自由」的數據輸入形式。作爲更新部署實用程序的一部分,該應用程序的一般用途是簡單地將SVN提交日誌中的文件列表複製並粘貼到應用程序中。 – sab669
看來這個帖子回答你的問題,如果你把它標記爲接受並投票贊成,這將是非常棒的:) –