Как я могу сказать моему DataTemplate связывать со свойством в РОДИТЕЛЬСКОМ ViewModel?

Начиная с 1.8.5, можно запечатать и заморозить объект, поэтому определите вышеизложенное как:

var DaysEnum = Object.freeze({"monday":1, "tuesday":2, "wednesday":3, ...})

или

var DaysEnum = {"monday":1, "tuesday":2, "wednesday":3, ...}
Object.freeze(DaysEnum)

и вуаля! JS перечисляет.

Примечание: я написал это в 2011 году, но это 2019 - используйте const для предотвращения перезаписи вашего словаря enum.

Тем не менее, это не мешает вам присвоить нежелательное значение переменной, что часто является главной целью перечислений:

let day = DaysEnum.tuesday
day = 298832342 // goes through without any errors

Один из способов обеспечить более высокую степень безопасности типов (с перечисления или иным образом) использовать такой инструмент, как TypeScript или Flow .

Источник

Цитаты не нужны, но я сохранил их для согласованности.

33
задан Edward Tanguay 22 June 2009 в 09:57
поделиться

1 ответ

Ответ таков:

<DataTemplate x:Key="CodeGenerationMenuTemplate">
    <MenuItem 
        Header="{Binding Title}" 
        Command="{Binding DataContext.SwitchPageCommand,
    RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Menu}}}" 
        CommandParameter="{Binding Title}"/>
</DataTemplate>

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

56
ответ дан 27 November 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: