2011-02-13 43 views
2

我有一些用戶控件,我把它放在一個窗口控件中,我不想在用戶控件中有一個固定的大小,我希望它抓住所有的空間,我把它。我應該添加到我的代碼?使用戶控件伸展到所有給定的空間

<UserControl x:Class="DBTool.View.SelectDataBase" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      > 


    <UserControl.Background > 
     <ImageBrush ImageSource="..\Resources\DBSelection.jpg" ></ImageBrush > 
    </UserControl.Background > 

    <Grid> 
    <ItemsControl FontWeight="Normal" ItemsSource="{Binding Path=AvailableBeanTypes}" > 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <RadioButton 
       Content="{Binding Path=DisplayName}" 
       IsChecked="{Binding Path=IsSelected}" 
       GroupName="BeanType" 
       Margin="2,3.5" 
       /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </Grid> 
</UserControl> 

我的窗口代碼

<Window x:Class="DBTool.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:View="clr-namespace:DBTool.View" 
     xmlns:ViewModel="clr-namespace:DBTool.ViewModel" 
     Title="MainWindow" Height="332" Width="528" > 

    <Window.Resources> 

     <!-- These four templates map a ViewModel to a View. --> 
     <DataTemplate DataType="{x:Type ViewModel:SelectDataBaseViewModel}"> 
      <View:SelectDataBase /> 
     </DataTemplate> 

     <DataTemplate DataType="{x:Type ViewModel:MySqlPageViewModel}"> 
      <View:MySqlPageView /> 
     </DataTemplate> 



    </Window.Resources> 

      <DockPanel LastChildFill="True" > 


     <ToolBar Height="26" HorizontalAlignment="Stretch" VerticalAlignment="Top" Name="toolBar1" Width="Auto" DockPanel.Dock="Top" /> 

     <Grid VerticalAlignment="Bottom" DockPanel.Dock="Bottom" > 
      <Grid.RowDefinitions> 
       <RowDefinition/> 
      </Grid.RowDefinitions> 

      <Grid.ColumnDefinitions> 
       <ColumnDefinition/> 
       <ColumnDefinition/> 
       <ColumnDefinition/> 
       <ColumnDefinition/> 
       <ColumnDefinition/> 
      </Grid.ColumnDefinitions> 

      <Button Grid.Row="0" Grid.Column="4" Background="Azure" Margin="10" Command="{Binding Path=MoveNextCommand}" > Next </Button> 

      <Button Grid.Row="0" Grid.Column="3" Background="Azure" Margin="10" Command="{Binding Path=MovePreviousCommand}"> Previous </Button> 

      <TextBox Name="txtInput" Grid.Column="1"/> 
      <Label Content="{Binding Text, ElementName=txtInput, 
        UpdateSourceTrigger=PropertyChanged}" Grid.Column="2" /> 


     </Grid> 
     <!-- <View:SelectDataBase x:Name="DetailView"/>--> 
     <Border Background="White" Grid.Column="1" Grid.Row="0"> 
      <HeaderedContentControl 
     Content="{Binding Path=CurrentPage}" 
     Header="{Binding Path=CurrentPage.DisplayName}" 
     /> 
     </Border> 
    </DockPanel> 


</Window> 

enter image description here

但我想看到的圖像把整個空白那裏。

+0

重複:http://stackoverflow.com/questions/36108/how-to-get-controls-in-wpf-to-fill-available-空間 – 2011-02-13 09:34:26

回答

2

您需要了解panels(網格,堆棧等)及其屬性。高度和寬度屬性,如果我記得在wpf中有一個「*」值,它通過百分比。

這是一個agreat WPF教程

http://www.wpftutorial.net/

相關問題