2013-03-13 3 views
2

내가 편집하는 Windows Store Grid App (xaml) 템플릿을 사용하여 C# Windows 8 Store 응용 프로그램을 만들고 있습니다. 첫 페이지 인 GroupedItemsPage 템플릿은 음료수 페이지입니다. 여기 SimpleDataSource.cs 파일의 SimpleDataSource 메서드를 편집하여 내 이미지와 제목 (술, 소다, ...)을 추가했습니다. 이것들은 표준 항목이므로 나는 거기에서 그것을했다. 술에 클릭하면C# Windows Store Grid App (xaml) 템플릿

Hub Page

사용자는 또한 GroupedItemsPage 템플릿입니다 술 페이지로 이동합니다. 이 8 가지 항목 (맥주, 와인, 칵테일, ...)도 표준이므로 SimpleDataSource.cs 파일에 두 번째 방법을 만들어 올바른 제목과 이미지를 표시했습니다. 여기 그것이 잘못되었습니다. "Booze"를 클릭하면 "System.ArgumentException"이 발생합니다. 템플릿에있는 것과 같이 다른 공개 밀폐 클래스 SampleDataSourceSecond를 만들었습니다. 또한 해당 페이지의 LoadState 메서드를 편집했습니다.

protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) 
    { 
     // TODO: Assign a collection of bindable groups to this.DefaultViewModel["Groups"] 
     var sampleDataGroupsSecond = SampleDataSourceSecond.GetGroupsSecond((String)navigationParameter); 
     this.DefaultViewModel["GroupsSecond"] = sampleDataGroupsSecond; 
    } 

Visual Studio에서 xaml 페이지를 보면 올바르게 표시되지만 런타임에는 오류가 발생합니다. "맥주"를 클릭하면

Drinks Page

는 다른 페이지에서 GroupDetailPage 템플릿로 이동합니다. 항목 "Jupiler", "Stella"는 제목, 설명, 이미지가있는 RSS 피드에서 가져와야합니다. 이것은 두 번째 문제점입니다. 표준이 아니기 때문에 SampleDataSource.cs 파일에서이를 변경할 수 없습니다. 내가 어디에서해야합니까?

Beer Page

그래서 : 1. 오전 나는이 권리를거야? 2.이 Systemt.ArgumentException을 어떻게 해결합니까? 3. RSS 피드에서 GroupDetailPage를 채울 수 있도록 코드를 어디에 두어야합니까?

미리 감사드립니다.

EDIT : 두 번째 페이지의 항목을 변경할 수 있습니다. Booze를 클릭하면 두 번째 페이지 (맥주, 와인, 칵테일, 위스키, ...)에 표시되어야합니다. 음료수를 클릭하면 코카콜라, Icetea, 스프라이트 ...

답변

1

일반적으로, the-box 템플릿은 패턴과 같이 훌륭하지만 구현시 드문 경우입니다.

  1. 다음과 같은 방법으로 코드의 첫 번째 줄에 예외가 발생한다고 가정합니다.

    public static IEnumerable<SampleDataGroupSecond> GetGroups(string uniqueId) 
    { 
        if (!uniqueId.Equals("AllGroups")) throw new ArgumentException("Only 'AllGroups' is supported as a collection of groups"); 
    
        return _sampleDataSource.AllGroups; 
    } 
    

    당신은 당신의 데이터 모델의 요구에 정말 적합하지 않은 무언가에 샘플 데이터 소스를 성형하기 위해 노력하고 있습니다. 이 데이터 소스의 구현은 사용하려는 방식으로 사용하도록 설정되지 않았 음을 명시 적으로 나타냅니다. 내가 올바르게 이해한다면 실제로 그룹의 그룹이 있습니까? Image, TitleSubtitle :

  2. 을 다시 원본 소스는 샘플 AND 데이터 모델의 세 가지 기본 필드를 포함 샘플이다.XAML 데이터 바인딩을 통해 샘플 데이터 템플릿 (Standard250x250ItemTemplate : StandardStyles.xaml)은 매우 구체적이고 협소 한 경우를 처리합니다.

데이터 모델의 실제 모습을 배치하여 시작할 것입니다. 샘플 템플릿에있는 것을 잊어 버려야합니다. Microsoft's App Builder의 7 일차에는 working with data and files에 대한 유용한 섹션이 포함되어 있으며, 이는 귀하에게 유용한 데이터 바인딩을 포함합니다.

이 내용을 마스터하면 "코드를 어디에 두어야합니까?"라는 질문을하게됩니다. 데이터를 가져와 DataContext에 할당하는 것 이외의 코드는 거의 없습니다.

특히 RSS의 경우 Blog Reader tutorial은 RSS 피드의 항목에 액세스하고 표시하기 때문에 도움이됩니다.

+0

감사합니다. 자습서를 살펴 보겠습니다. – user1951083