Я знаю, что привязка в WPF - действительно мощная функция, но я не знаю, возможно ли это.
Мое окно состоит из действительно простой сетки:
<Grid Height="593" Width="800" >
<Grid.RowDefinitions>
<RowDefinition Height="109*" />
<RowDefinition Height="484*" />
</Grid.RowDefinitions>
<Grid.Background>
<ImageBrush ImageSource="MenuBackground.png" />
</Grid.Background>
<Label Grid.Row="0"
HorizontalAlignment="Center" VerticalAlignment="Center"
FontSize="36" Foreground="Gray"
Margin="0,15,0,0">
Bindings Sandbox
</Label>
<Grid Grid.Row="1" Width="300" Height="200">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Button Grid.Row="0" Margin="5" FontSize="16">Slider and Progress Bar</Button>
<Button Grid.Row="1" Margin="5" FontSize="16">Button2</Button>
</Grid>
</Grid>
Я хочу знать, можно ли вызвать другое окно (допустим, определенное в View1.xaml) без маршрутизации Button.Click incode-behind?
Здесь у вас есть несколько вариантов.
Технически вы можете сделать прикрепленное свойство, которое делает то, что вы хотите. Это будет использовать код, но не в коде, поэтому он предоставляет более многоразовый вариант.
В качестве альтернативы вместо обработчика событий вы можете использовать Command. Это позволяет вам привязываться к команде и перемещать логику в ваш DataContext. (Это, кстати, является одним из "инструментов", которые делают шаблон MVVM корректным.) Команда может открыть ваш новый вид.