簡體   English   中英

在運行時替換控件的最佳方法是什么?

[英]What is the best way to replace controls at runtime?

我是WPF的新手,我有以下情況:

我有一個應用程序,其中包含一個區域,在該區域中應在不同的時間(不同的應用程序狀態)顯示不同的控件集。

我想知道WPF中的方法是什么?

在Winforms中,我將在運行時使控件可見/不可見。 如果控件太多,則可以將它們分組在Panels / UserControls上並顯示/隱藏它們。

我的直覺告訴我WPF中有更好的方法。

在WPF中,有很多選項可以做到這一點。 除了通過設置“可見性”來隱藏和顯示單個或一組控件外,您還可以使用不同的DataTemplates包含每種狀態的控件集並在它們之間進行切換。 您只需要一個ContentControl,即可在其上設置ContentTemplate。 然后可以使用觸發器,綁定,代碼或使用ContentTemplateSelector選擇模板,將ContentTemplate值切換到不同的DataTemplates。

可見性屬性完美地描述了您以前的winforms習慣。

您還需要研究視覺狀態 這將允許您隱藏/顯示多個控件,甚至更改其他屬性(即啟用狀態,字體顏色)。

暫無
暫無

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

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