您的位置:首页 > 其它

自学WPF--第七课StackPanel控件

2011-07-31 22:44 148 查看
StackPanel控件是一个面板,可以对放在其中的所有控件进行排列,对齐等相关操作,相当于Windows Forms中的Panel控件

代码如下所示:

<Border BorderBrush="Black" Background="White" BorderThickness="2">
<Grid HorizontalAlignment="Left" VerticalAlignment="Top" >
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition Height="55"/>
<RowDefinition Height="400"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="190"/>
<ColumnDefinition />
<ColumnDefinition Width="190"/>
<ColumnDefinition />
<ColumnDefinition Width="190"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock FontSize="14" FontWeight="Bold" TextWrapping="Wrap" Grid.Row="0" Grid.ColumnSpan="6" Margin="0,0,0,10">
StackPanel HorizontalAlignment

and VerticalAlignment Sample
</TextBlock>
<TextBlock FontSize="12" TextWrapping="Wrap" Grid.Row="1" Grid.ColumnSpan="6">
User the ListBoxes below to

manipulate the Orientation of the nested StackPanel,as well as the

HorizontalAlignemnt and VerticalAlignment of the Buttons with the yello

StackPanel
</TextBlock>
<TextBlock FontSize="12" Grid.Row="2" Grid.Column="0">
Change StackPanel Orientation
</TextBlock>
<ListBox SelectionChanged="listBox1_SelectionChanged" Grid.Column="1" Grid.Row="2" Grid.RowSpan="3" Height="50" HorizontalAlignment="Center" Name="listBox1" VerticalAlignment="Top"
Width="80" >
<ListBoxItem>Horizontal</ListBoxItem>
<ListBoxItem>Vertical</ListBoxItem>
</ListBox>
<TextBlock Grid.Column="2" Grid.Row="2" HorizontalAlignment="Left" Name="txtHorizontal" VerticalAlignment="Top">
Change HorizontalAlignment
</TextBlock>
<ListBox SelectionChanged="ltboxHorizontal_SelectionChanged" Grid.Column="3" Grid.Row="2" Height="50" HorizontalAlignment="Center"

Name="ltboxHorizontal"

VerticalAlignment="Top" Width="80" >
<ListBoxItem>Left</ListBoxItem>
<ListBoxItem>Right</ListBoxItem>
<ListBoxItem>Center</ListBoxItem>
<ListBoxItem>Stretch</ListBoxItem>
</ListBox>
<TextBlock Grid.Column="4" Grid.Row="2" HorizontalAlignment="Left" Name="txtVertical" Text="Change

VerticalAlignment" VerticalAlignment="Top" />
<ListBox SelectionChanged="ltboxVertical_SelectionChanged" Grid.Column="5" Grid.Row="2" Height="50" HorizontalAlignment="Center" Name="ltboxVertical" VerticalAlignment="Top"
Width="80" >
<ListBoxItem>Top</ListBoxItem>
<ListBoxItem>Bottom</ListBoxItem>
<ListBoxItem>Center</ListBoxItem>
<ListBoxItem>Stretch</ListBoxItem>
</ListBox>
<StackPanel Grid.ColumnSpan="6" Grid.Row="3" Name="stackPanel1" Background="Yellow">
<Button>Button One</Button>
<Button>Button Two</Button>
<Button>Button Three</Button>
<Button>Button Four</Button>
<Button>Button Five</Button>
<Button>button Six</Button>
</StackPanel>
</Grid>
</Border>
后台功能代码如下:
public partial class MainWindow :

Window
{

public MainWindow()
{
InitializeComponent();
}

private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBoxItem item = (sender as ListBox).SelectedItem as ListBoxItem;
if(item.Content.ToString()=="Horizontal")
{
stackPanel1.Orientation = Orientation.Horizontal;
}
else if (item.Content.ToString() == "Vertical")
{
stackPanel1.Orientation = Orientation.Vertical;
}

}
private void ltboxHorizontal_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBoxItem item = (sender as ListBox).SelectedItem as ListBoxItem;
if(item.Content.ToString() == "Left")
{
stackPanel1.HorizontalAlignment= HorizontalAlignment.Left;
}
else if (item.Content.ToString() == "Right")
{
stackPanel1.HorizontalAlignment= HorizontalAlignment.Right;
}
else if (item.Content.ToString() == "Center")

{
stackPanel1.HorizontalAlignment= HorizontalAlignment.Center;
}
else if (item.Content.ToString() == "Stretch")
{
stackPanel1.HorizontalAlignment= HorizontalAlignment.Stretch;
}
}
private void ltboxVertical_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBoxItem item = (sender as ListBox).SelectedItem as ListBoxItem;
if(item.Content.ToString() == "Top")
{
stackPanel1.VerticalAlignment =VerticalAlignment.Top;
}
else if (item.Content.ToString() == "Bottom")
{
stackPanel1.VerticalAlignment =VerticalAlignment.Bottom;
}
else if (item.Content.ToString() == "Center")
{
stackPanel1.VerticalAlignment =VerticalAlignment.Center;
}
else if (item.Content.ToString() == "Stretch")
{
stackPanel1.VerticalAlignment =VerticalAlignment.Stretch;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: