2014-10-18 2 views
0

저는 문자 그대로 방금 첫 Windows Phone Runtime 응용 프로그램을 만들었으며 Windows Phone Silverlight 응용 프로그램을 작성한 경험에서 벗어나려고합니다. 고려해야 할 차이점이 많다는 것을 거의 알지 못했습니다. 하나는 리소스 문자열을 UI의 속성에 바인딩하는 것입니다. 단순히 Hub 컨트롤로 시작했습니다. 왜냐하면 단순히 훌륭한 템플릿처럼 보이기 때문입니다. 첫 번째 단계는 새 HubSection을 만들고 Header 텍스트를 만드는 것입니다. 일반적으로 좋은 연습과 시간 절약을 위해 번역 목적으로 UI에 항목을 만들 때 항상 리소스 문자열을 추가합니다. 이 경우 HubSection 헤더에 내 리소스 문자열을 표시하는 데 문제가 있습니다.RESW 문자열을 UI에 바인딩하는 방법

참고 : 저는 Windows 런타임에 익숙하지 않으며 현재 CHannel9 및 Microsoft Virtual Academy에서 자습서를 진행하고 있습니다.

또한

<HubSection x:Uid="HubPage.BuiltInAppsHub"> 
      <HubSection.HeaderTemplate> 
       <DataTemplate> 
        <TextBlock x:Uid="HubPage.BuiltInAppsHub.Header"/> 
       </DataTemplate> 
      </HubSection.HeaderTemplate> 

     </HubSection> 

그리고 내 자원에

다음과 같이 현재 내가 가지고있는 것은 나의 페이지 XAML에서 DataContext은 여전히 ​​

DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}" 

이며,이 템플릿에 난 아무것도 변경하지 않은주의. resw 파일 내 키 값은 HubPage.BuiltInAppsHub.Header.Text이고 내 값은 간단히 built in apps입니다. 그래서 여기에 몇 가지 질문이 있습니다. 하나,이 문자열 값을 표시하기 위해 TextBlock을 어떻게 연결합니까? 또한 HeaderTemplate을 만드는 것보다 직접적인 방법이 있습니까? Header 속성 인 HubSection에서이 작업을 수행 할 수 없습니까? Header 속성 인 Silverlight 버전의 Header 속성에서 이와 비슷한 작업을 수행했을 수 있습니까? 모든 정보, 배경, 제안 등 크게 감사하겠습니다.

편집 텍스트가

<HubSection x:Uid="HubPageBuiltInAppsHub"> 
      <!--<HubSection.HeaderTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding}"/> 
       </DataTemplate> 
      </HubSection.HeaderTemplate>--> 

     </HubSection> 

답변

0

당신은 항상 당신이 표시하려는 속성 XAML 요소를 사용하여 위치를 보는 것은 매우 어렵다 디자이너에서 에뮬레이터를 실행하지만,하지 않을 때 표시에게 resw 자원 문자열을 다음과 귀하의 텍스트 인치 그것은 데이터 템플릿에서도 참조 할 필요가 없습니다.

<HubSection x:Uid="HubPageBuiltInAppsHub"> 
    <HubSection.HeaderTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}"/> 
     </DataTemplate> 
    </HubSection.HeaderTemplate> 
</HubSection> 

그리고이 키는 resw 파일로 간다 : 당신이 여기에서하고 싶은 것은 (또한 점 제거)입니다 http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965323.aspx

+0

:

HubPageBuiltInAppsHub.Header 

그 주제에 대한 MSDN의 문서도 있습니다 어떤 이유로 나는 Header 대신에'_.di6.TestApp.Data.SampleData ... '를 아직도 보았습니까? – Matthew

+0

점을 제거하십시오. 'HubPageBuiltInAppsHub'를 Uid로,'HubPageBuiltInAppsHub.Header'를 키로 사용해보십시오. – Fred

+0

음, https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6df9ca5e-57c9-43f9-9811-3f83f04a5e6a/can-hubsection-header-text-be-localized?forum=을 (를) 방문했습니다. wpdevelop 그리고 내 전체'HeaderTemplate '을 주석하기로 결정했습니다. 에뮬레이터를 실행할 때 헤더 텍스트를 올바르게 볼 수는 있지만 디자이너에는 아무 것도 표시되지 않습니다. 어떤 아이디어? – Matthew

관련 문제