博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
阅读量:4306 次
发布时间:2019-06-06

本文共 1914 字,大约阅读时间需要 6 分钟。

原文:

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

引用或转载时请保留以下信息:
大可山 [MSN:a3news(AT)hotmail.com]
 
萝卜鼠在线图形图像处理
--------------------------------------------------------------------------------
上篇: 一文中讲了使用{Binding ElementName=xxx,Path=xxx}的形式实现了控件到控件的绑定,注意它使用了ElementName属性。本篇将说说如何使用XmlDataProvider作控件绑定,但它使用Source 属性。

对于大多数应用程序,我们希望绑定到XML或 .NET 对象。比如XML文件或者自定义的.Net对象,或者是我们从数据库中取出的相应记录。

XAML 用其 Provider 对象支持该操作。XAML 中内置有两种类型的数据提供程序:ObjectDataProvider 和 XMLDataProvider。其中,ObjectDataProvider 用于绑定到 .NET 对象以及从 .NET 对象绑定;XMLDataProvider 用于绑定到 XML 片段和文档以及从 XML 片段和文档进行绑定。

2. XMAL文件内部数据的直接绑定:

首先我们来看看直接在XAML中如何使用XMLDataProvider进行内部数据的直接绑定。
<Window
 xmlns=""
 xmlns:x=""
 x:Class="WPFDataBinding.Window1"
 x:Name="Window"
 Title="Window1"
 >
<Canvas x:Name="LayoutRoot">
<StackPanel Width="214" Height="Auto">
   <StackPanel.Resources>
     <XmlDataProvider x:Key="FavoriteColors">
       <x:XData>
         <Colors xmlns="">
           <Color>红</Color>
           <Color>橙</Color>
           <Color>黄</Color>
           <Color>绿</Color> 
           <Color>蓝</Color>
           <Color>靛</Color>
           <Color>紫</Color>
         </Colors>
       </x:XData>
    </XmlDataProvider>
   </StackPanel.Resources>
   <TextBlock HorizontalAlignment="Center" FontWeight="Bold">
      喜欢的颜色
   </TextBlock>
   <ListBox Width="200" Height="120"
               ItemsSource="{
Binding Source={
StaticResource FavoriteColors}, XPath=/Colors/Color}">
   </ListBox>
</StackPanel>
</Canvas>
</Window>

可以看到,在 StackPanel 的资源(<StackPanel.Resources> )中,有一个 XMLDataProvider 对象。x:Key 表示 Binding 对象中用来引用它的名称。这里,我们创建了 XML 内联数据(数据使用<x:XData>标签包含起来,关于XData的细节,建议你查查MSDN:ms-help://MS.LHSMSSDK.1033/MS.LHSNETFX30SDK.1033/wpf_conceptual/html/7ce209c2-621b-4977-b643-565f7e663534.htm,有更详细的说明),用作数据绑定的源。在 ListBox 的 Binding 中,使用FavoriteColors的StaticResource作为Source。如果某个数据源位于 XAML 文档中,我们就要指定该对象是一个静态源(StaticResource),正如这里所看到的一样。最后,我们使用 XPath 语句指定应该使用 XML 文档中的哪个集合来填充 ListBox。

最后的结果:

XAML内联数据绑定到控件

posted on
2018-10-25 14:31 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/9849658.html

你可能感兴趣的文章
关于“using namespace std”
查看>>
安卓模拟器bluestacks mac地址修改教程
查看>>
(转)android技巧01:Preferencescreen中利用intent跳转activity
查看>>
Beta Daily Scrum 第七天
查看>>
jq-dom操作
查看>>
Android style 继承
查看>>
RabbitMQ(2) 一般介绍
查看>>
点云赋值 PointCloudT::Ptr 运行时崩溃
查看>>
css样式图片、渐变、相关小知识
查看>>
python FTP服务器实现(Python3)
查看>>
查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看>>
[LeetCode][JavaScript]3Sum Closest
查看>>
UML入门之类图教程
查看>>
Christmas
查看>>
弹性布局----Flex
查看>>
Android音频系统之AudioPolicyService
查看>>
【计算机算法设计与分析】——5.4最优二分检索树
查看>>
不浮躁的社会是什么样的?
查看>>
KVM安装
查看>>
haproxy
查看>>