WPF中通過改變一個元件的屬性來改變他的一些效果
阿新 • • 發佈:2020-12-22
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>