美文网首页
C#笔记-1(WPF)

C#笔记-1(WPF)

作者: 沉云落雨 | 来源:发表于2017-11-25 20:29 被阅读0次

    C#笔记之一(WPF)

    Xaml部分

    1. 对于有Text或Content属性的控件,想要使用例如Segoe MDL2 Assets:
      <TextBlock FontFamily="Segoe MDL2 Assets" Text="&#xE105;"/>
      其中Text="&#x后面的可以从字符映射表中查看。
    2. 有多个具有相同数值属性的空间,不必一个个打出来,可以使用ResourceDictionary定义相同属性然后在写出每个控件的时候引用,例如:
      <Window.Resources>
          <ResourceDictionary>
              <Style TargetType="Button" x:Key="QuickBarButtons">
                  <Setter Property="Width" Value="19" />
                  <Setter Property="Height" Value="19" />
              </Style>
          </ResourceDictionary>
      </Window.Resources>
    
    ....
    
      <Button Style="{StaticResource QuickBarButtons}"/>
      <Button Style="{StaticResource QuickBarButtons}"/>
    

    这样后面两个生成的button都是长宽分别是19像素的控件。

    C# code部分

    1. 字符(串)大小写转换
      一开始我是用的从int强制转换成charConvert.ToChar()),小写a-z的对应int value是从97到122,数值减去32即变成大写,后来发现只要使用Char.ToUpper()就可以了,真的是naïve。
    2. 其他实用字符串函数
    string a = " AAA ";
    // 去除首尾空格
    string b = a.Trim();
    // 替代所有指定字符为另一指定字符
    string c = a.Replace("A", "B");
    // 子字符串,语法都是第一个数字是开始的index,第二个是长度,只不过一个是取一个是去
    string d = b.Substring(1, 2);
    string e = b.Remove(0, 1);
    d == e; // true
    // 字符串转换为字符数组
    char[] ca = a.ToCharArray();
    
    1. 格式化输出
      有两种方式,
      以Console.WriteLine()为例:
      -直接在WriteLine里面写出
      Console.WriteLine("{0}", x});
      其中x是某个变量(可以是字符串,整数这种基本类型)。
      -新定义一个string
      string output = String.Format("{0}", x});
      Console.WriteLine(output);
      C语言里面的\n \t这种标识符也可以使用。
      如果要format数值类型的话,例如
      String.Format("{0,N3}, x};
      代表在x的小数点后面取3位。N这个我比较常用,对于其他的格式,可见这个MSDN链接
    2. 打开文件和存储文件对话框
    var dlg = new Microsoft.Win32.OpenFileDialog
    {
      DefaultExt = ".txt", // 设定默认扩展
      Filter= "txt file (*.txt)|*.txt|All files (*.*)|*.*"
    };
    Nullable<bool> result = dlg.ShowDialog();
    if(result==true)
    {
      string file = dlg.FileName;
    }
    

    对于保存的话只要把OpenFileDialog改成SaveFileDialog

    1. TextBox控件相关
      可以fire一个TextChanged的event来达成诸如ScrollToEnd()的操作(对于类Console Windows的实现有帮助)。
      可以设置ScrollViewer属性的visibility。
      TextBox的KeyDown event可以实现类似回车确定的功能,只要在相应code里写上
    private void OnEnterKeyDown(object sender, KeyEventArgs e)
      {
      if(e.Key == Key.Enter)
        {
          DoSomethingHere();
        }
    }
    
    1. Lis相关
    • 在函数体内需要谨慎使用List.Reverse(input)这个method,因为它作用于自身,所以它会使input本身reverse掉,即使函数没有返回值。
    • List.GetRange()就是list版的String.SubString()
    1. 访问MainWindow的数据
    var mainWindow = Application.Current.MainWindow as MainWindow;
    

    然后就可以访问这个对象的属性来修改或是读取其中public的变量了。

    相关文章

      网友评论

          本文标题:C#笔记-1(WPF)

          本文链接:https://www.haomeiwen.com/subject/xincbxtx.html