代码之家  ›  专栏  ›  技术社区  ›  Padu Merloti

是否可以仅在单击按钮时使用XAML启动另一个视图?

  •  2
  • Padu Merloti  · 技术社区  · 16 年前

    我知道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中定义的窗口),而无需路由按钮?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Reed Copsey    16 年前

    你有几个选择。

    从技术上讲,你可以 attached property 那正是你想要的。这将使用代码,但不在代码背后,因此它提供了一个更可重用的选项。

    Command 而不是事件处理程序。这允许您绑定到命令,并将逻辑移动到DataContext中(顺便说一句,这是使MVVM模式正常工作的“工具”之一。)该命令可以打开您的新视图。

    推荐文章