天天看點

WPF從我炫系列4---裝飾控件的用法

在這一節的講解中,我将為大家介紹WPF裝飾控件的用法,主要為大家講解一下幾個控件的用法.

ScrollViewer滾動條控件

Border邊框控件

ViewBox自由縮放控件

1. ScrollViewer滾動條控件

  大家知道在WPF中的一些布局控件中是不帶滾動條的,如果裡面的内容控件超過了外面布局控件的大小,就不能完全被顯示出來,這個時候我們就可以使用滾動條控件,讓它滾動顯示.

效果圖:

WPF從我炫系列4---裝飾控件的用法

預設情況下ScrollViewer是顯示垂直滾動條的。但是可以通過屬性來控制滾動條的顯示。

HorizontalScrollBarVisibility設定水準滾動條

VerticalScrollBarVisibility  設定垂直滾動條

通過以下屬性可以設定滾動條的顯示與否

Visible滾動條一直顯示

Hidden隐藏滾動條

Auto 自動顯示,當超過外面大小時顯示,當沒有超過外部容器大小時不顯示。

Disabled 禁止顯示滾動條

XMAL代碼

<Window x:Class="WpfContentControl.WinScroll"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="WinScroll" Height="283" Width="426">

    <ScrollViewer Name="scrollViewer1" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">

        <Grid Height="400" Width="400">

            <Grid.RowDefinitions>

                <RowDefinition></RowDefinition>

                <RowDefinition Height="100"></RowDefinition>

                <RowDefinition></RowDefinition>

            </Grid.RowDefinitions>

            <Rectangle Fill="Bisque"></Rectangle>

            <Image Source="1.gif" Grid.Row="1"></Image>

            <Rectangle Fill="Aqua" Grid.Row="2"></Rectangle>

        </Grid>

    </ScrollViewer>

</Window>

當然了,ScrollViewer控件還有很多屬性,使用者可以自己設定,也可以以程式設計方式去設定,這裡我就不多說了。

2-Border邊框控件

Border控件主要用于為其他控件設定一個漂亮的邊框外觀。

我們設計了一紅色圓角的TextBox控件

效果圖

WPF從我炫系列4---裝飾控件的用法

Border控件的一些屬性可以設定控件的外觀樣式

BorderThickness設定控件邊框寬度

BorderBrush設定背景顔色

CornerRadius設定圓角角度

XMAL代碼

    <Grid>

        <Border BorderBrush="Red" BorderThickness="2" HorizontalAlignment="Left" Margin="37,80,0,69" Name="border1"  Height="23" CornerRadius="5" >

        <TextBox Height="23" Name="textBox1" Width="120"  />

        </Border>

    </Grid>

3. ViewBox自由縮放控件

ViewBox控件是一個可以自由縮放裡面内容大小的控件,使控件随着外部窗體的大小比例進行變換。

效果圖

WPF從我炫系列4---裝飾控件的用法

ViewBox實作按比例縮放,可以使用Stretch屬性設定縮放方式,有以下屬性設定

None:儲存原始大小,不進行縮放

Fill:内容大小填充目标尺寸

Uniform:在保留原始縱橫比的基礎上調整大小

UniformToFill:在保留原始縱橫比的基礎上調整大小,如果源矩形的縱橫比不能滿足目标矩形的縱橫比,則對其剪切填充。

XMAL代碼

<Window x:Class="WpfContentControl.WinViewBox"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="WinViewBox" Height="300" Width="300">

    <Grid>

        <Viewbox Name="viewbox1" >

            <StackPanel>

                <Rectangle Width="50" Height="30" Fill="Black"></Rectangle>

                <Image Source="1.gif" Height="45" Width="47"></Image>

            </StackPanel>

        </Viewbox>

    </Grid>

</Window>

 關于這幾個控件的用法,就寫到這裡。