2012-12-02 31 views
3

我现在正在写一个WPF应用程序,并试图记住我很久以前做过的事情。 我想要一个带有4个按钮的窗口,我将通过应用程序与他们导航。在主窗口中的网格中打开用户控件 - WPF

我的代码:

<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#。

我试图使用故事板工具,但我不明白如何使用它,一般来说,我认为故事板工具对于我的使用来说是矫枉过正。

回答

3

提供一个名称电网:

<Grid Name="MainGrid" > 

</Grid> 

,然后在代码behine,处理单击事件:

void Button_Click_1(object sender, MouseEventArgs e) 
{ 
    MainGrid.Children.Add(// Your control //); 
} 
+0

那么容易,我很尴尬。 10倍很多! – SigmaOmega

+0

我有一点Q,在后面的代码中我总是需要创建一个新的控件实例?像这样: 'MainGrid.Children.Clear(); Dashboard board = new Dashboard(); MainGrid.Children.Add(board);' 因为当我试图这样做: 'MainGrid.Children.Clear(); MainGrid.Children.Add(Dashboard);' 我得到一个错误:( – SigmaOmega

+0

不,如果您调用了'InitializeComponent()'方法,则会创建一个MainGrid的实例。 – Ramin

相关问题