zoukankan      html  css  js  c++  java
  • wpf学习20180606

    对象元素的子元素

    有三类子元素:内容属性、集合项、值(类型转换)

    -----------------------------------------------------------------------------

    内容属性

    元素对象有Content或Items属性的,这就是内容属性,可以包含元素对象或文本。

    集合项

    两种类型的集合:List、Dictionary

    类型转换

    普通文本作为元素的子元素。

    ---------------------------------------------------------------------------

    xaml元素必须有默认构造函数

    -------------------------------------------------------------------------------------------------

    运行时加载和解析XAML

    使用代码解析加载XAML文件

    XamlReader对象

    如果项目根目录有个Win.xaml的文件,用代码解析载入并显示。

    Window win = null;

    using(FileStream fs = new FileStream ("Win.xaml", FileMode.Open, FileAccess.Read))

    {

      win = (Window)XamlRead.Load(fs);

      win.show();

    }

    注意事项:FileStream的命名空间System.IO;XamlRead的命名空间System.Windows.Markup;

    使用文件流,需要读取物理文件,所以Win.xaml需要调整设置,复制到输出目录:始终复制;生成操作:无。

    这些设置在页面的属性设置中。同时要删除页面的后置代码文件。Win.xaml要删除xmlans=class""的设置。+

    win.xaml的xmal代码

    <Window>

      <StackPanel>

        <Button>

          ......

        <Button>

        .......

    ......

    </Window>

    如何找到第二个按钮并给按钮设置文本

    win = (Window)XamlRead.Load(fs);

    StackPanel sp = (StackPanel)win.Content;

    Button btn = sp.Children[1];

    btn.Content="找到";

    这是根据子集的个数顺序硬编码找对象,有更简单的方法吗?有

    ----------------------------------------------------------------------------------------

    Xaml元素命名

    <Window>

      <StackPanel>

        <Button>

          ......

        <Button X:Name="btn1">

        .......

    ......

    </Window>

    win = (Window)XamlRead.Load(fs);

    Button btn = (Button)win.FindName("btn1");

    btn.Content="找到";

  • 相关阅读:
    c#函数重载
    (1).net c# 一步一步自己写三层代码生成器(主界面及连接数据库界面)
    C#给datagridview某行赋值(转)
    好的软件人员必看的六十本书
    C# 语言规范
    spring 排除指定的类或者包扫描
    java web spring 发送邮件
    spring-data-redis和jedis版本对应收集总结
    python 多线程和多进程基本写法
    python 调用nmap
  • 原文地址:https://www.cnblogs.com/snake1118/p/9146261.html
Copyright © 2011-2022 走看看