簡體   English   中英

在Silverlight中單擊即可編輯

[英]Click-to-edit in Silverlight

有沒有辦法在silverlight中進行“點擊編輯”控制? 我有一些項目將顯示在樹視圖控件中,我希望標簽可以直接在樹視圖中編輯。

有人知道怎么做嗎?

實際上很容易。 我已經用這種交換機制實現了許多形式。

您可以使用Converter執行此操作,並對綁定到TreeView的實體上存在的IsEditable屬性執行簡單的BooleanToVisibility轉換。 在TreeView ItemTemplate中,只需綁定TextBlock,只要IsEditable屬性為true,它就會被折疊,並且當IsEditable屬性為false時,它會以一種方式綁定TextBox(反之亦然)。

如果要構建自定義ClickToEdit控件,則需要執行以下操作:

  1. 創建一個繼承自ContentControl的類
  2. 公開DataTemplate類型的新依賴項屬性:一個名為EditableTemplate。
  3. 在OnApplyTemplate中添加MouseLeftButtonUp事件處理程序以偵聽單擊。
  4. 將活動內容模板更改為Click事件上的EditableTemplate。
  5. 當控件失去焦點時,請更改模板。

現在在TreeView中使用自定義控件:

  1. 覆蓋TreeView的ItemTemplate
  2. 將自定義ClickToEdit控件放在那里

實現自定義控件將允許您(或其他開發人員)輕松指定他們想要用作內容編輯器的控件。 例如,他們可以指定NumericUpDown或DateTimePicker而不是僅使用TextBox。

在Silverlight 3中查看DataForm。它具有類似的功能,但是可以通過單擊來切換可編輯與只讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM