2014-10-09 10 views
0

피벗 뷰어 응용 프로그램을 업데이트하고 다음 문제를 실행했습니다. 바라건대 내가 붙어있는 것처럼 누군가가 대답을 갖기를 바랍니다.피벗 뷰어가 너무 많은 피벗 뷰어 속성이있는 경우 이미지를 표시하지 않습니다.

문제 : 페이지를로드 할 때 속성 및 기타 기능이있는면이로드되지만 트레이딩 카드에 이미지가로드되지 않습니다. 일부는 기본 흰색 배경을로드하고 대다수는 어두운 회색, 거의 검정색 배경을 표시합니다. 모든 항목을 확대하여 모든 속성을 표시 할 수 있지만 이미지는 표시 할 수 없습니다.

디버깅 : 일부 속성을 주석 처리하면 이미지가 매번 올바르게로드됩니다. 1 또는 2로만 주석 처리하면 이미지가 일부 시간 (10 페이지 새로 고침 중 2 개 정도)로드됩니다. 현재 목록에 포함 된 29 개의 속성이 있으며 데이터가 데이터베이스에서로드되고 pivotviewer.ItemsSource에서 사용됩니다.

아이디어가 있으십니까?

MainPage.xaml.cs를

public MainPage() 
    { 
     InitializeComponent(); 

     PivotViewModel pivotModel = new PivotViewModel(); 
     CollectionsComboBox.SelectedIndex = 0; 
     this.DataContext = pivotModel; 
    } 

    private void DropDown_ItemSelected(object sender, EventArgs e) 
    { 
     // Process selected index change here 
     if (((ComboBox)sender).SelectedValue == "Option One") 
     { 
      OptionOnePivotViewModel OptionOnePivot = new OptionOnePivotViewModel(); 
      PivotViewer.ItemsSource = OptionOnePivot.Data; 
      PivotViewer.PivotProperties = OptionOnePivot.PivotProperties; 
      PivotViewer.ItemTemplates = OptionOnePivot.TemplateCollection; 
      PivotViewer.ItemAdornerStyle = blankAdorner; 
     } 
     else 
     { 
      OptionTwoPivotViewModel OptionTwoPivot = new OptionTwoPivotViewModel(); 
      PivotViewer.ItemsSource = OptionTwoPivot.Data; 
      PivotViewer.PivotProperties = OptionTwoPivot.PivotProperties; 
      PivotViewer.ItemAdornerStyle = basicAdorner; 
      PivotViewer.ItemTemplates = OptionTwoPivot.TemplateCollection; 
     } 
    } 

OptionTwoPivotViewModel.cs :

일부 이름 변경

코드 (옵션 두 사람은 속성 내가 주석있어 하나입니다)

public OptionTwoPivotViewModel() 
     { 
      DomainContext = new OptionTwoDomainContext(); 
      Data = DomainContext.Load(DomainContext.GetHRDatasQuery()).Entities; 
      PivotProperties = getPivotProperties(); 
      SmallTemplate = "EmpSmall"; 

      TemplateCollection = new PivotViewerItemTemplateCollection() 
       { 
       (PivotViewerItemTemplate) Application.Current.Resources[SmallTemplate] 
       }; 
     } 

     private List<PivotViewerProperty> getPivotProperties() 
     { 
      List<PivotViewerProperty> properties = new List<PivotViewerProperty> 
      { 
       new PivotViewerStringProperty{ Id="Name", Options=PivotViewerPropertyOptions.CanSearchText, DisplayName="Name", Binding=new System.Windows.Data.Binding("Name")}, 
       new PivotViewerStringProperty{ Id="Status", Options=PivotViewerPropertyOptions.CanFilter, DisplayName="Status", Binding=new System.Windows.Data.Binding("Status")}, 
       new PivotViewerDateTimeProperty{ Id="StartDate", Options=PivotViewerPropertyOptions.CanFilter, DisplayName="Start Date", Binding=new System.Windows.Data.Binding("StartDate")}, 
       //additional properties follow... 
     }; 
      return properties; 

편집 : 다음 속성 getter에 중단 점을 설정하면 이미지도 계속로드됩니다.

public ImageSource BackgroundImage 
     { 
      get 
      { 
       string location = Image_Location; 
       location = location.Substring(location.LastIndexOf("/")); 
       Uri uri; 

       if (Image_Location.Contains(".gif")) 
       { 
        uri = new Uri(Image_Location, UriKind.Absolute); 
       } 
       else 
       { 
        var host = Application.Current.Host.Source.Host; 
        uri = new Uri("https://" + host + "/fileLibrary/employees/images/500"+location, UriKind.RelativeOrAbsolute); 
       } 

       // set the image source 
       BitmapImage bmpImg = new BitmapImage(uri); 
       _loaded = _backgroundImage != null; 
       if (!_loaded) 
       { 
        bmpImg.ImageOpened += ImageOpened; 
        bmpImg.ImageFailed += ImageFailed; 
       } 
       return new BitmapImage(uri); 
      } 
+0

질문에 코드를 추가 할 수 있습니까? – matsjoyce

+0

추가됨. 추가 코드 섹션이 필요한 경우 알려 주시기 바랍니다. – Trinak

답변

0
 TemplateCollection = new PivotViewerItemTemplateCollection() 
      { 
      (PivotViewerItemTemplate) Application.Current.Resources[SmallTemplate] 
      }; 

위의 초기화의 속성을 지정하지?

+0

나는 당신이 의미하는 바를 잘 모르겠다. 표시된 이니셜 라이저는 항목 템플릿을로드하는 것입니다. 나는 그것이 속성과 관련이 있다고 생각하지 않습니다. 템플릿은 다음과 같습니다. Trinak