0

WPF アプリケーションでは、LINQ to SQL クラスを使用しています (SQL Metal によって作成され、POCO を実装しています)。

テーブル User と Table Pictures があるとします。これらの写真は、実際には 1 枚の写真から作成されたものであり、サイズ、色、色などの違いがある場合があります。

したがって、すべてのユーザーが複数の画像を持っている可能性があるため、関連付けは 1:N (ユーザー:画像) になります。

私の問題:

a) MVVM の方法で、画像コントロールを EntitySet 内の 1 つの画像 (特定の画像を 1 つ撮ります) にバインドして表示するにはどうすればよいですか?

b)ユーザーが画像を変更するたびに、EntitySet 全体を破棄し、新しく作成した画像を追加する必要があります。これは正しい方法ですか?

例えば

//create the 1st piture object
UserPicture1 = new UserPicture();
UserPicture1.Description = "... some description.. ";
USerPicture1.Image = imgBytes; //array of bytes


//create the 2nd piture object
UserPicture2 = new UserPicture();
UserPicture2.Description = "... another description.. ";
UserPicture2.Image = DoSomethingWithPreviousImg(imgBytes); //array of bytes


//Assuming that the entityset is called Pictures
//add these pictures to the corresponding user
User.Pictures.Add(UserPicture1);
User.Pictures.Add(UserPicture2);


//save changes 
datacontext.Save()

前もって感謝します

4

1 に答える 1

0

2 つのオプションがあります (ただし、他にも多数あります)。

  1. 画像にバインドし、独自のコンバーターを使用して適切なものを選択します。
  2. ビューのニーズに応じてモデルをラップする ViewModel を作成し、Picture プロパティを公開してそれにバインドします。

詳細が必要な場合はコメントしてください。

乾杯、アンバカ

于 2009-12-17T23:16:36.627 に答える