zoukankan      html  css  js  c++  java
  • WPF4数据绑定应用之“创建具有多种显示效果的字串”

    WPF4数据绑定应用之

     

      创建具有多种显示效果的字串

     

                WPF4对流文档(Flow Document)的一个重大改进之一就是Run元素的Text属性变成了一个依赖属性,这就使我们可以利用WPF数据绑定机制创建出可以及时更新且具有丰富显示样式的字串来,一个典型示例如 1所示。

     

    1 具有丰富显示样式的字串

             当示例程序运行时,用户每点击一次按钮,程序将突出显示其单击次数。

             在早期版本的WPF应用程序中,由于用于显示文本的Run元素不支持数据绑定,要实现示例程序的效果比较麻烦,必须嵌套使用TextBlock控件。

             使用WPF4,由于Run元素支持数据绑定,并且其Text属性变成了依赖属性,实现上述功能变得很简单。

             首先,给窗体定义一个名为Counter的依赖属性:

           public int Counter

            {

                get { return (int)GetValue(CounterProperty); }

                set { SetValue(CounterProperty, value); }

            }

            public static readonly DependencyProperty CounterProperty =

                DependencyProperty.Register("Counter", typeof(int),  typeof(Window));

          提示:

           在Visual Studio 2010的代码编辑器中右击,从弹出菜单中选择以下命令:

        Insert SnippetàNetFX30àDefine a DependencyProperty

           可以快速得到一个依赖属性的代码框架

             在按钮的单击事件中递增Counter的值。

        private void btnClick_Click(object sender, RoutedEventArgs e)

        {

                Counter++;

        }

             下面是最关键的地方——在窗体的XAML文件中定义绑定到窗体依赖属性CounterRun元素。

        <TextBlock Name="textBlock1" ……>

                <Run >您单击了</Run>

                <Run FontWeight="Bold" FontSize="30" Foreground="Red"

                     Text="{Binding Path=Counter}" ></Run>

                <Run>次按钮</Run>

            </TextBlock>

             要让数据绑定起作用,还必须设定Run.Text属性从哪个对象中提取值。在本例中,Counter是窗体的属性,因此,我们在窗体的Load事件中让Run元素的“父亲”TextBlockDataContext属性引用窗体自身:

        private void Window_Loaded(object sender, RoutedEventArgs e)

        {

                textBlock1.DataContext = this;

         }

             示例程序开发完成。

             WPF的数据绑定机制是Windows Form所无法比拟的,应用得当,可以大大地提升开发效率。

     

    下载示例源码

     

  • 相关阅读:
    day47---分组多表查询练习
    day47---数据库进阶知识(二)
    day46---数据库练习
    安全项目(癞蛤蟆病毒)
    pywin32安装步骤
    pip安装报错:error:Microsoft Visual C++ 14.0
    windows下anaconda安装
    数据库常用命令
    MySQL数据库初识
    linux安装MySQL
  • 原文地址:https://www.cnblogs.com/bitfan/p/1601857.html
Copyright © 2011-2022 走看看