Вы могли бы взять на себя причудливую деструктуризацию , взяв объект с нулевым ключом (только первый элемент массива) и затем свойство value
.
var array = [{ label: "1", value: "11" }, { label: "2", value: "22" }, { label: "3", value: "33" }, { label: "4", value: "44" }],
{ 0: { value } } = array;
console.log(value);
В соответствии с документацией , только DocumentViewer
и FlowDocumentViewer
реализуют эту команду специально. Вам нужно будет либо найти команду для навигации, которую реализует NavigationWindow
, либо настроить CommandBinding
для этой команды и обработать ее самостоятельно.
Вы захотите использовать NavigationService
вашего NavigationWindow
следующим образом:
XAML:
<Button HorizontalAlignment="Right" Name="continueButton" Width="75" Margin="0,0,8,11" Height="23" VerticalAlignment="Bottom" Click="continueButton_Click">
Continue
</Button>
C #:
private void continueButton_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.GoForward();
//or
this.NavigationService.Navigate("Second.xaml")
}
С любым из этого вы можете использовать this
, я показываю только NavigationService
здесь для ясности
В XAML:
<Button Command="{x:Static Views:Commands.NavigateHelp}" Content="Help"/>
В Views (у нас есть файл Commands.cs
, который содержит все это):
public static RoutedCommand NavigateHelp = new RoutedCommand();
В конструкторе Page вы можете соединить эти два:
CommandBindings.Add(new CommandBinding(Commands.NavigateHelp, NavigateHelpExecute));
NavigateHelpExecute может быть в коде позади (что мы и делаем), подключаться к обработчику событий ViewModel или чему угодно. Прелесть этого в том, что вы можете отключить другую навигацию следующим образом:
CommandBindings.Add(new CommandBinding(NavigationCommands.Refresh, null));
Надеюсь, это поможет.