zoukankan      html  css  js  c++  java
  • 内容控件

    内容控件:ContentControl

    可以包含显示内容,可以包含单个控件 (布局控件可以包含多个,内容控件最多只能包含一个子元素),因此如果包含多个元素的话,可以先放在布局容器中,再将布局容器放在内容控件中。

    • Content 属性 :内容控件可以包含显示内容,可以包含单个控件 (布局控件可以包含多个,内容控件最多只能包含一个子元素),因此如果包含多个元素的话,可以先放在布局容器中,再将布局容器放在内容控件中。
    • 对齐内容 :HorizontalContentAlignment (控件里的 内容对齐) VerticalContentAlignment 同理  类比 (HorizontalAlignment 和 VerticalAlignment  对控件整体的操作 )
    • 相关控件
      • 标签Lable :支持记忆符(本质是能被链接的控件,是焦点的快捷键) 有一个target属性,需要指向另一个控件的绑定的表达式。
        <Label Name="labe1" Target="{Binding ElementName=textbox5}">Choose _A</Label>
        <TextBox  x:Name="textbox5" Margin="5"></TextBox>

        _A 中_表示快捷键,编写Windows窗体 一般快捷键用&,但是&不能用于XAML。所有的记忆符都是用Alt 和已经工作的快捷键工作??? ——(按Alt + A 会转移焦点到 TextBox)。快捷键字符通常是隐藏的,直到用户 按下了 Alt键才显示。

           按下Alt键 按下A 焦点转移到文本框
      • 按钮Button:   
        IsCancel 属性  设置  IsCancel 属性为True 相当于   按下ESC 键的时候触发 对应的 Click 事件
        IsDefault 属性  设置  IsDefault 属性为True 相当于  焦点不在某个控件上时,默认在改控件上. (回车执行click事件)
      • CheckBox isCheck属性    IsThreeState="True" 可以为未勾选状态
        <CheckBox Content="CheckBox1" x:Name="CheckBox1" IsChecked="{x:Null}" IsThreeState="True"/>
        <CheckBox Content="CheckBox2" x:Name="CheckBox2" IsChecked="True"/>
      • RadioButton:
        同一个容器下的RadioButton 相互排斥,只能有一个被勾选 (可以理解为 ABCD 单选题)。不同容器下不会相互排斥。
        如果想不同容器下相互排斥需要设置 GroupName 相同
    • 工具提示
      • ToolTip属性(一个内容控件,可以放置任何可视化元素)——表现为鼠标停留所出现的提示框。
        简单方法:直接在元素的属性中定义
        <Button x:Name="button1" IsCancel="True" Click="button1_Click" ToolTip="this is my ToolTip">Button1</Button>

        需要提供更复杂的提示:例如嵌套元素的组合,就将ToolTip作为单独元素,使用嵌套的元素属性。可以设置ToolTip的背景色,出现的位置。

        <Button x:Name="button4" IsDefault="True" Click="button4_Click" >
           <Button.Content>Button4</Button.Content>
           <Button.ToolTip >
               <!--<ToolTip Background="Coral" Placement="Absolute" HorizontalOffset="25" VerticalOffset="50">-->
               <ToolTip Background="Coral" Placement="Mouse" HorizontalOffset="5">
                   <StackPanel>
                      <TextBlock>Image and text</TextBlock>
                         <TextBlock Text="&#xec80;" FontFamily="../Assets/Font/#iconfont" FontSize="30"/>
                   </StackPanel>
               </ToolTip>
           </Button.ToolTip>
         </Button>

          以鼠标基准,相对偏移5个像素。

        <ToolTip Background="Coral" Placement="Mouse" HorizontalOffset="5">

         以Windows窗体,绝对偏移,可以出现在app窗口外。

        <ToolTip Background="Coral" Placement="Absolute" HorizontalOffset="25" VerticalOffset="50">
      • Popup 控件  PopupTest
        <Grid Margin="10">
                <TextBlock TextWrapping="Wrap">You can use a Popup to provide a link for a specific 
                    <Run TextDecorations="Underline" MouseEnter="Run_MouseEnter"> term </Run> of the interest </TextBlock>
                
                
                <Popup x:Name="popLink" StaysOpen="False" Placement="Mouse" MaxWidth="200" PopupAnimation="Slide"
                       AllowsTransparency="True">
                    <Border BorderBrush="BlueViolet" BorderThickness="2" Background="AliceBlue">
                        <TextBlock Margin="10" TextWrapping="Wrap">
                            For more information, see 
                            <Hyperlink NavigateUri="https://www.cnblogs.com/codinghard/" Click="Hyperlink_Click">my blog</Hyperlink>
                        </TextBlock>
                    </Border>
                </Popup>
        
            </Grid>

        Run用来格式化 textBlock中特定的部分
        Hyperlink  可以提供一块可以单击的文本(超链接)
                private void Run_MouseEnter(object sender, MouseEventArgs e)
                {
                    popLink.IsOpen = true;
                }
        
                private void Hyperlink_Click(object sender, RoutedEventArgs e)
                {
                    //打开浏览器,指向对应路径
                    Process.Start(((Hyperlink)sender).NavigateUri.ToString());
                }

    注意:

    引入ttf文件时候的格式 : FontFamily="../Assets/Font/#iconfont"  有# 没有后缀名。

     
  • 相关阅读:
    VMware的安装
    草根创业专题开篇
    转:分布式和集中式版本控制工具svn,git,mercurial
    sql db to sqlite
    简单办公自动化系统开发与思考1
    sql ef datacontext muti thread problem
    谈云计算,服务器运算的惊天骗局
    ios5.1二货,手贱,解决方案
    阿曹的创业点子1人人快递
    创业点子wifi anywhere
  • 原文地址:https://www.cnblogs.com/codinghard/p/15643883.html
Copyright © 2011-2022 走看看