3

我现在正在用 WPF 编写一个应用程序,并试图记住我很久以前做过的事情。我试图有一个带有 4 个按钮的窗口,我将通过应用程序与它们一起导航。

我的代码:

<Grid>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="55*"/>
            <ColumnDefinition Width="453*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <StatusBar Margin="0" VerticalAlignment="Top" Height="23" Grid.ColumnSpan="4" Grid.Row="2" Background="#FF1A202C"/>
        <Menu Margin="0" Height="23" Grid.ColumnSpan="4" Background="#FF1A202C" />
        <StackPanel Grid.Row="1" Width="224.2" HorizontalAlignment="Left" Background="#FF1F7872"  >
            <Button Content="Dashboard" Style="{StaticResource BorderlessButton}" Foreground="#FFF1E7E7" Template="{DynamicResource GlassButton}" Margin="25,20,23,20" Click="Button_Click_1" />
            <Button Content="Components" Style="{StaticResource BorderlessButton}" Foreground="#FFF1E7E7" Template="{DynamicResource GlassButton}" Margin="25,20,23,20"/>
            <Button Content="TimeLine" Style="{StaticResource BorderlessButton}" Foreground="#FFF1E7E7" Template="{DynamicResource GlassButton}" Margin="25,20,23,20"/>
            <Button Content="Drilldown" Style="{StaticResource BorderlessButton}" Foreground="#FFF1E7E7" Template="{DynamicResource GlassButton}" Margin="25,20,23,20"/>
        </StackPanel>
        <Grid Grid.Column="2" Grid.Row="1" HorizontalAlignment="Stretch" Grid.ColumnSpan="2" Background="#FF72B095">

        </Grid>     
    </Grid>

我有 4 个用户控件,我希望它们在单击按钮时出现在网格中(也许我需要替换控件)。

一个朋友建议我在 Blend 上使用 storyboard,但我记得很久以前我做了不同的事情,我只使用了 XAML 和 C#。

我尝试使用情节提要工具,但我不明白如何使用它,总的来说,我认为情节提要工具对我来说太过分了。

4

1 回答 1

3

为网格命名:

<Grid  Name="MainGrid" >

</Grid>

然后,在后面的代码中,处理点击事件:

void Button_Click_1(object sender, MouseEventArgs e)
{ 
    MainGrid.Children.Add( // Your control //);
}
于 2012-12-02T08:56:35.727 回答