1. 程式人生 > 其它 >WPF中通過改變一個元件的屬性來改變他的一些效果

WPF中通過改變一個元件的屬性來改變他的一些效果

技術標籤:C#wpf

WPF 中使用更改屬性來寫出一些效果

這裡是在一個按鍵上設定屬性在他上面顯示一個漸變色的方塊

<Button Width="100" Height="30" >//這裡設定了一個按鍵 Button,以及他的長和寬
            <Button.Content>//這裡設定的是按鍵Button 上面顯示的是什麼
                <Rectangle Width="20" Height="20" Stroke="Red">//這裡畫了一個矩形 他的寬是20 他的長是20 畫這個矩形的顏色是Red紅色
<Rectangle.Fill>//這裡設定了這個矩形填充的顏色 <LinearGradientBrush>//這裡設定了一個筆刷 <LinearGradientBrush.StartPoint>//這裡是筆刷最開始的位置 <Point X="0" Y="0"/>//這裡設定了X和Y的地址,0% <
/LinearGradientBrush.StartPoint> <LinearGradientBrush.EndPoint>//這裡設定了筆刷最後所到達的位置 <Point X="1" Y="1"/>//這裡設定了X和Y的地址,100% </LinearGradientBrush.EndPoint> <
LinearGradientBrush.GradientStops>//這裡是一個漸變色的集合 <GradientStopCollection>//這裡是漸變色集合 <GradientStop Offset="0.2" Color="Firebrick"/>//這裡是漸變色的第一個顏色,0~0.2(0%~20%)的顏色是FireBrick <GradientStop Offset="0.5" Color="Black"/>//這裡是漸變色的第二個顏色,0.2~0.5 <GradientStop Offset="0.7" Color="Red"/>//同上 <GradientStop Offset="0.9" Color="Blue"/>//同上 </GradientStopCollection> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> </Button.Content> </Button>

這裡是上面Button程式碼的簡寫

<Button Width="100" Height="30" >
            <Button.Content>
                <Rectangle Width="20" Height="20" Stroke="Red">
                    <Rectangle.Fill>
                        <LinearGradientBrush>//這裡的筆刷的位置預設是(0,0)~(1,1)所以可以不寫可也以使用								<LinearGradientBrush StartPoint=”0,0” EndPoint=”1,1”>來寫明
                            <LinearGradientBrush.GradientStops>//這裡的集合可以直接使用
                                <GradientStop Offset="0.2" Color="Firebrick"/>
                                <GradientStop Offset="0.5" Color="Black"/>
                                <GradientStop Offset="0.7" Color="Red"/>
                                <GradientStop Offset="0.9" Color="Blue"/>
                            </LinearGradientBrush.GradientStops>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>
            </Button.Content>               
        </Button>

這裡的程式碼是更改了文字文件裡面的屬性

這裡是在文字文件上面改
xmlns:sys="clr-namespace:System;assembly=mscorlib"//要使用這個TextBlock的Text中的改變時需要寫入這個名稱空間

<Window.Resources>//這個是Text中顯示的文字的類
        <sys:String x:Key="stringHello">//這裡是顯示
            Hello!//這裡是文字
        </sys:String>
    </Window.Resources>

<TextBlock Height="24" Width="120" Background="LightBlue" //建立一個文字框以及這個文字框的背景顏色
                   Text="{StaticResource ResourceKey=stringHello}"/>//這裡呼叫了上面的一個東西,使得這個文字框裡顯示的文字是上面呼叫的文字

第一個Button的原始碼

<Button Width="100" Height="30" >
            <Button.Content>
                <Rectangle Width="20" Height="20" Stroke="Black">
                    <Rectangle.Fill>
                        <LinearGradientBrush>
                            <LinearGradientBrush.GradientStops>
                                <GradientStopCollection>
                                    <GradientStop Offset="0.2" Color="Blue"/>
                                    <GradientStop Offset="0.5" Color="Blue"/>
                                    <GradientStop Offset="0.7" Color="Blue"/>
                                    <GradientStop Offset="0.9" Color="Blue"/>
                                </GradientStopCollection>
                            </LinearGradientBrush.GradientStops>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>
            </Button.Content>
        </Button>

第一個Button的簡化的原始碼

<Button Width="100" Height="30" >
            <Button.Content>
                <Rectangle Width="20" Height="20" Stroke="Red">
                    <Rectangle.Fill>
                        <LinearGradientBrush>
                            <LinearGradientBrush.GradientStops>
                                <GradientStop Offset="0.2" Color="Firebrick"/>
                                <GradientStop Offset="0.5" Color="Black"/>
                                <GradientStop Offset="0.7" Color="Red"/>
                                <GradientStop Offset="0.9" Color="Blue"/>
                            </LinearGradientBrush.GradientStops>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>
            </Button.Content>               
        </Button>

這個是文字文框的原始碼

xmlns:sys="clr-namespace:System;assembly=mscorlib" //這個是呼叫的一個庫

<Window.Resources> //這個需要寫在window中
        <sys:String x:Key="stringHello"> 
        </sys:String>
    </Window.Resources>

<TextBlock Height="24" Width="120" Background="LightBlue" //這個是更改的
                   Text="{StaticResource ResourceKey=stringHello}"/>

這個的程式碼則是將Button這個按鍵的邊角變成圓形

<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="147,41,0,0" VerticalAlignment="Top" Width="75">
            <Button.Resources>
                <Style TargetType="{x:Type Border}">
                    <Setter Property="CornerRadius" Value="8"/>
                </Style>
            </Button.Resources>
        </Button>