C#笔记-1(WPF)

C#笔记之一(WPF)

Xaml部分

  1. 对于有Text或Content属性的控件,想要使用例如Segoe MDL2 Assets:

    其中Text="&#x后面的可以从字符映射表中查看。
  2. 有多个具有相同数值属性的空间,不必一个个打出来,可以使用ResourceDictionary定义相同属性然后在写出每个控件的时候引用,例如:
  
      
          
      
  

....

  

这样后面两个生成的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 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))