Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
--------------------------------------------------------------------------------
引用或轉載時請保留以下信息:
大可山?[MSN:a3news(AT)hotmail.com]
http://www.zpxp.com?http://www.brawdraw.com
蘿卜鼠在線圖形圖像處理
--------------------------------------------------------------------------------
上篇:Windows Presentation Foundation(WPF)中的數據綁定(控件與控件值的綁定)?一文中講了使用{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="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?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。
最后的結果:
總結
以上是生活随笔為你收集整理的Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL数据库学习之路(五)
- 下一篇: 【学习/模板】tarjan割点