Я буквально только что создал свое первое приложение для работы с Windows Phone Runtime, и я перехожу от опыта работы с приложениями Windows Phone Silverlight. Мало ли я знаю, что есть много различий, которые нужно учитывать, одна из которых является связыванием строк ресурса с свойствами в пользовательском интерфейсе. Я начал с управления Hub
, потому что просто он кажется отличным шаблоном. Моим первым шагом было создать новый HubSection
и создать текст Header
. Как правило, для хорошей практики и экономии времени в пути я всегда добавляю свои строки ресурсов, когда создаю элементы в пользовательском интерфейсе для целей перевода. В этом случае мне трудно получить заголовок HubSection
, чтобы отобразить строку ресурса.Как привязать строку RESW к UI
Примечание. Я очень новичок в Windows Runtime и сейчас занимаюсь учебными курсами в CHannel9 и Microsoft Virtual Academy.
Также обратите внимание, что в этом шаблоне я ничего не изменилось, так что моя страница DataContext
в XAML еще
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
В настоящее время, что у меня есть следующие
<HubSection x:Uid="HubPage.BuiltInAppsHub">
<HubSection.HeaderTemplate>
<DataTemplate>
<TextBlock x:Uid="HubPage.BuiltInAppsHub.Header"/>
</DataTemplate>
</HubSection.HeaderTemplate>
</HubSection>
И в моих ресурсов. resw файл мое значение ключа HubPage.BuiltInAppsHub.Header.Text
, и мое значение просто built in apps
. Итак, пара вопросов здесь. Один, как мне связать TextBlock
, чтобы показать это строковое значение? Кроме того, существует ли более прямой способ, чем создание HeaderTemplate
, могу ли я не просто сделать это в свойстве HubSection
, аналогично тому, как я сделал бы это в свойстве PanoramaItem
в версии Silverlight? Будем очень благодарны за любую информацию, информацию, предложения и т. Д.
EDIT следующие отображает строку RESW ресурсов при запуске эмулятора, но не в конструкторе, который очень трудно увидеть, где текст расположен
<HubSection x:Uid="HubPageBuiltInAppsHub">
<!--<HubSection.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</HubSection.HeaderTemplate>-->
</HubSection>
Почему-то я все еще вижу '_.di6.TestApp.Data.SampleData ...' вместо заголовка? – Matthew
Удалите точку. Попробуйте 'HubPageBuiltInAppsHub' как Uid и' HubPageBuiltInAppsHub.Header' как ключ. – Fred
Ну, я наткнулся на https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6df9ca5e-57c9-43f9-9811-3f83f04a5e6a/can-hubsection-header-text-be-localized?forum= wpdevelop и решил прокомментировать весь мой «HeaderTemplate». Когда я запускал эмулятор, я правильно вижу текст заголовка, но в дизайнере ничего не отображается. Есть идеи? – Matthew