首先道个歉,这两天家里断网,一直没办法更新。

 

4. Border

   边框是指在另一个对象的周围绘制边框,背景或者同事绘制二者的控件,在xaml中的语法如下:

       <Border> 子控件对象 </Border>

   Border控件通常会是其他空间的一个外观显示的辅助控件,它很少单独使用。一般都是一个组合。一个border中只能包含于一个子对象。如果想要在多个对象中放置一个边框,则要添加容器,如面板stackpanel.

常用的方法如下:

   BorderBrush  获取或者设置用于创建边框的brush;

   BorderThickness 或者或者设置边框的粗细

   Child 或者或者设置要在其周围ie绘制边框的子元素

   Padding  获取或者设置边框与子对象之间的距离

示例代码

  椭圆形边框按钮:

 <Border BorderBrush="#FF00BF23" BorderThickness="10" HorizontalAlignment="Center" Height="118" VerticalAlignment="Top" Width="480" Background="#FFE41C6E" CacheMode="BitmapCache" Cursor="SizeNWSE" FlowDirection="RightToLeft" CornerRadius="40">

        <Button Content="Button" Background="#FFB1CB3D"/>

</Border>

单击后显示的边框:

<Border x:Name="textbr" BorderThickness="10" Margin="-6,143,6,245">

        <Border.BorderBrush>

            <!--opacity 代表透明度为0-->

            <SolidColorBrush Color="Red" Opacity="0"/>

        </Border.BorderBrush>

        <Button Content="点击我一下" Click="Button_Click_1"/>

    </Border>

private void Button_Click_1(object sender, RoutedEventArgs e){

            //设置边框的透明度为100%

            textbr.BorderBrush.Opacity = 1;

}

5. 超链接(HyperlinkButton)

   超链接控件,该控件在xaml中的格式如下:

     <HyperlinkButton  ...../>

     <HyperlinkButton>属性</HyperlinkButton>

     <HyperlinkButton>内容</HyperlinkButton>

     该类继承自buttonBase。大部分特性和button是一样的。不过他多了一个NavigateUri的属性,通过URI的绝对地址或者是相对地址赋值给NavigateUri属性,就可以轻松实现定位。如果URI设置的为外部网页,则可以使用targetName的属性指定应在其中打开页面的目标窗口或者框架。如果URI设置为同一个应用程序中的内容,可以使用targetName属性指定要到行道的对象的名称,不必处理HyperlinkButton的单击事件,就可以定位到。

示例代码

   打开网页和应用程序的其他页面

<HyperlinkButton Content="转谷歌浏览器" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="106,84,0,0" Height="59" Width="229" Background="#FF56B686" Foreground="#FF8400B6"  FontSize="32" NavigateUri="http://google.com" TargetName="_blank"/>

<HyperlinkButton Content="转内部数据" HorizontalAlignment="Left" Margin="130,244,0,0" VerticalAlignment="Top"  FontSize="32" Height="89" Width="197" NavigateUri="/Page.xaml"/>

6. 单选按钮

   RadioButton是一个单选按钮的控件,比如选择男女的时候就会用到。用户可以从一组数据中选择一个出来。 控件在xaml语法如下:

        <RadioButton   .../>

        <RadioButton >属性</RadioButton>

        <RadioButton >显示内容</RadioButton>

示例代码

   性别的选择:

<RadioButton Content="男" HorizontalAlignment="Left" Margin="62,370,0,0" Name="boy" 

VerticalAlignment="Top" IsChecked="true" GroupName="sex"/>

 <RadioButton Content="女" HorizontalAlignment="Left" Margin="186,372,0,0"  VerticalAlignment="Top" RenderTransformOrigin="0.642,0.722" Name="girl" GroupName="sex" />

  注意:他们是使用GroupName来分组,使用IsChecked来确认是否选中。

7. 复选框

  checkBox,用于表示用户可以选中或者是不选中的按钮。在xaml语法如下;

  <CheckBox.../>

  <CheckBox>显示内容</CheckBox>

  checkBox允许用户从选项卡里多选,不互相排斥。他继承自ToggleButton,具有三种状态:选中,未选中,不确定。他是通过IsThreeState属性来获取或者设置指示控件是支持两种状态还是三中状态的值,通过IsCheckedz属性来获取或者设置是否选中了复选框。需要注意的是,如果IsThreeState属性设置为true,则IsChecked属性将会为选中或者不确定状态返回true。

示例代码

  判断Checkbox是否被选中

 <CheckBox x:Name="chk_one" Content="CheckBox" HorizontalAlignment="Left" 

  Foreground="Orange" FontFamily="Geogia"  Margin="34,56,0,0" VerticalAlignment="Top" />

<CheckBox x:Name="chk_two" Content="CheckBox" HorizontalAlignment="Left" IsChecked="true"

Checked="chk_two_Checked_1" Unchecked="chk_two_Unchecked_1"                 Margin="30,112,0,0" VerticalAlignment="Top"/>

 private void chk_two_Checked_1(object sender, RoutedEventArgs e){

//为了程序的健壮性,先判断是否为空,因为首次显示是不被初始化

            if (chk_one != null)

                chk_one.Content = "checked";

 }

private void chk_two_Unchecked_1(object sender, RoutedEventArgs e){

             if (chk_one != null)

                chk_one.Content = "checked";

 }