我有一個可拖動選項卡的選項卡控件。當鼠標被釋放時,它將從tabControl中移除選定的選項卡並將其添加到其新位置。我的問題是TabControl在移除標籤後自行繪製,然後再添加標籤時會出現一個非常明顯的閃爍,顯示標籤被移動後的標籤。WPF - 暫停UI線程?
有沒有一種方法可以暫停UI線程,這樣在刪除和插入操作完成前,選項卡控件不會重新繪製?或者也許還有其他一些重新安排標籤項目的替代方法?拖放操作作爲附加屬性存在於單獨的代碼文件中
我有一個可拖動選項卡的選項卡控件。當鼠標被釋放時,它將從tabControl中移除選定的選項卡並將其添加到其新位置。我的問題是TabControl在移除標籤後自行繪製,然後再添加標籤時會出現一個非常明顯的閃爍,顯示標籤被移動後的標籤。WPF - 暫停UI線程?
有沒有一種方法可以暫停UI線程,這樣在刪除和插入操作完成前,選項卡控件不會重新繪製?或者也許還有其他一些重新安排標籤項目的替代方法?拖放操作作爲附加屬性存在於單獨的代碼文件中
我實際上發現我的問題與拖放完全無關。這是一個運行在TabControl的SelectionChanged事件上的函數,導致在添加和刪除標籤時重新繪製標籤。
拖動完成後,您是否可以刪除/重新插入標籤?
我假設你的拖/放功能是使用裝飾物拖動時呈現圖像。如果你可以聽到某種dragstarted/dragfinished事件,那麼在拖動項目時,你應該可以簡單地對你的樹形視圖做任何事情,然後在拖動完成後刪除/重新插入標籤。
這就是我正在做的事情......在MouseUp事件中,項目被移除並重新插入新的位置。我的問題是,選項卡控件在刪除之後被繪製,並且在重新插入之後再次被繪製,這引起非常明顯的閃爍,顯示被拖動的選項卡後面的選項卡。 – Rachel 2010-05-11 12:06:49