通常、このような一般的な質問はStackOverflowでは回答されません。試してみますが、あなたにできることの概要を説明する時間しかありません。
TreeViewを絶対に避けたのは私の経験です。論理的に動作せず、ノードを検索するときにコストがかかります。
ItemTemplateがExpanderコントロールであるItemsControlを使用することで、必要な動作を得ることができると思います。ItemsControlは、フォルダーを表すオブジェクトのコレクションにバインドされています。
次に、 ExpanderのヘッダーをDataTemplateして、ホバー動作を模倣できます。ヘッダーは2つのTextBlockになります。1つはエキスパンダー、つまり「メールボックス」を識別するためのもので、もう1つは「表示」/「非表示」ラベル用です。
基本的に、「表示」と「非表示」は1つのTextBlockであり、 ExpanderのIsExpandedプロパティにアタッチされたDataTriggerによってテキストが設定されます。IsExpandedがtrueの場合は、テキストを「非表示」に設定し、falseの場合は、「表示」に設定します。
次に、各フォルダーにある残りのアイテムについて、 Expander内にItemsControlまたはListBoxを配置できます。ItemsControlまたはListBoxItemsSourceを各フォルダー内のアイテムにバインドします。次に、対応するItemTemplateを使用して、選択した方法でこれらのアイテムをデザインできます。