0

ユーザーがお気に入りの Youtube ビデオへのリンクを追加して保存できる UI を作成しています。ブラウザーのお気に入りフォルダーに非常に似ていますが、Youtube ビデオ専用です。

リンクをツリービューに表示して、カテゴリやサブフォルダーなどにカタログ化できるようにしたい.次のような並べ替え:

Videos
|---Music Videos
      |---Music video 01
      |---Music video 02
      |---Music video 03
|---TV Shows
      |---TV show 01
      |---TV show 01

現時点で私が最も苦労しているのは、UI が閉じた後にユーザーがこのデータを保存する方法を考え出すことです。私はxmlバインディングを調べてきましたが、ツリービューで適切に動作するように見えるまともなxmlスキーマを作成できないようです.

また、動画名と一緒に URL を保存するにはどうすればよいですか?ツリービューには名前だけを表示しますか?

これを行うための最良の方法についての指針に非常に感謝しています。より良い方法はありますか?それはすべて非常に混乱しています。

どうもありがとう。

4

1 に答える 1

1

優れたデータ アーキテクチャは重要な問題です。私の考えをいくつか紹介することはできますが、それらがすべて良いアイデアであるとは保証できません。

まず、XML データを直接操作することはお勧めしません。より複雑なことをしようとすると、非常に不便になります。

データを XML にシリアライズすることはできますが、その制限と副作用に注意する必要があります。シリアライズのさまざまな方法を比較しようとする SO に関する質問があります。他の形式としてそれらを探すことをお勧めします。の方が適しているかもしれません。たとえば、XML の 2 つの側面は非常に明白です。

  • タグとテキストベースのデータによる膨大なファイルサイズのオーバーヘッド
  • バイナリのシリアル化とは異なり、データは多かれ少なかれ人間が判読でき、透過的です

いずれにせよ、データベースまたは通常のオブジェクト モデルを使用し、それをストレージ用にシリアル化/逆シリアル化します。

サブカテゴリを許可したい場合は、複合パターンを使用することができます。次に、オブジェクトVideoとを使用できます。どちらもインターフェイスをCategory実装しています。たとえば、 には typeのプロパティがあります。IVideoCompositeCategoryChildrenObservableCollection<IVideoComposite>

次に、暗黙的に型指定されたデータ テンプレート ( HierarchicalDataTemplatefor Category) を使用して、TreeView. (そのうちの 1 人は、Categoryを にバインドしItemsSourceますChildren)

于 2011-09-07T16:13:36.050 に答える