2009-11-12 2 views
0

Я конвертирую приложение asp.net MVC в silverlight, и из-за того, что я делал некоторые «нестандартные» вещи в моем приложении mvc, мне трудно работать как реализовать его в Silverlight MVVM.ASP MVC to Silverlight MVVM issues

В основном я генерировал все свои взгляды из метаданных, включая ссылки, кнопки и т. Д. Одним из примеров этого, что я не могу понять, как это сделать в Silverlight, является то, что я передал в коллекцию действий свой взгляд, и имел класс html-помощника, который затем преобразовал эти действия в ссылки

 public static string GenericLinks(this HtmlHelper htmlHelper, int location, bool inTable, int? parentRecordId, List<ModelAction> 

actions) 
     { 
      int actionNo = 1; 
      StringBuilder text = new StringBuilder(); 
      foreach (var action in actions) 
      { 
       if (action.LocationType == location) 
       { 
        if (inTable) 
         text.Append("<td>"); 
        else 
         if (actionNo > 1) 
          text.Append(" | "); 
        text.Append(htmlHelper.ActionLink(action.Label, action.ActionTypeLookup.CodeName, new { actionId = action.ModelActionId, 

parentRecordId = parentRecordId })); 
        if (inTable) 
         text.Append("</td>"); 
        actionNo++; 
       } 
      } 
      return text.ToString(); 
     } 

Это действительно хорошо работало в MVC.

Каким будет эквива лент в MVVM? Я бы ожидал, что смогу сделать что-то гораздо более целеустремленное, более похоже на то, чтобы создавать свои действия в моей модели просмотра и как-то привязываться к этим действиям на мой взгляд ...

ответ

0

Для чего-то подобного вам, вероятно, потребуется создать пользовательский контроль. Затем вы можете поместить его в свое представление и привязать его к коллекции Actions, которая будет существовать в вашем ViewModel.