為什麼需要ObjectDataProvider

2022-03-07 06:09:28 字數 1819 閱讀 4595

之前一篇文章 物件資料繫結

裡提到三個例子,第乙個例子用了objectdataprovider沒有用datacontext,第二個例子用了datacontext沒有用objectdataprovider,第三個例子既用了objectdataprovider也用了datacontext,但沒有提到它們的區別,正好在beatriz costa的blog上看到一篇好文章解釋了為什麼需要 objectdataprovider

的問題。

objectdataprovider能實現四個特殊功能:

1. 傳遞引數到建構函式中

使用下面的xaml語句定義乙個objectdataprovider,它會自動呼叫mysource類的預設建構函式初始化類

如果mysource類的建構函式允許傳入引數的話,就可以這樣定義objectdataprovider:

jupiter

2. 繫結到方法

objectdataprovider 除了 objecttype的屬性外還有methodname的屬性,methodname屬性將objectdataprovider繫結到方法,相當於是對資料來源的包裝,另外也可以定義方法的傳入引數:

953. 替換資料物件

和使用自己在resource中定義物件不同,objectdataprovider可以使里很簡單的更換繫結的資料物件,只需要更換一下繫結的資料物件的名字。而使用自己在resource中定義物件,即使定義了相同的x:key也不能達到自動更新的目的。

另,這裡使用datacontext也能達到與objectdataprovider同樣的效果。

4. 建立非同步的資料物件

objectdataprovider有isasynchronous 可以將資料物件定義為非同步的。

預設情況下objectdataprovider是同步的,xmldataprovider是非同步。

之前一篇文章 物件資料繫結

裡提到三個例子,第乙個例子用了objectdataprovider沒有用datacontext,第二個例子用了datacontext沒有用objectdataprovider,第三個例子既用了objectdataprovider也用了datacontext,但沒有提到它們的區別,正好在beatriz costa的blog上看到一篇好文章解釋了為什麼需要 objectdataprovider

的問題。

objectdataprovider能實現四個特殊功能:

1. 傳遞引數到建構函式中

使用下面的xaml語句定義乙個objectdataprovider,它會自動呼叫mysource類的預設建構函式初始化類

如果mysource類的建構函式允許傳入引數的話,就可以這樣定義objectdataprovider:

jupiter

2. 繫結到方法

objectdataprovider 除了 objecttype的屬性外還有methodname的屬性,methodname屬性將objectdataprovider繫結到方法,相當於是對資料來源的包裝,另外也可以定義方法的傳入引數:

953. 替換資料物件

和使用自己在resource中定義物件不同,objectdataprovider可以使里很簡單的更換繫結的資料物件,只需要更換一下繫結的資料物件的名字。而使用自己在resource中定義物件,即使定義了相同的x:key也不能達到自動更新的目的。

另,這裡使用datacontext也能達到與objectdataprovider同樣的效果。

4. 建立非同步的資料物件

objectdataprovider有isasynchronous 可以將資料物件定義為非同步的。

預設情況下objectdataprovider是同步的,xmldataprovider是非同步。

為什麼需要PKI

為什麼需要pki 隨著電子商務的迅速發展,資訊保安已成為焦點問題之一,尤其是網上支付和網路銀行對資訊保安的要求顯得更為突出。為了能在網際網路上開展安全的電子商務活動,公開金鑰基礎設施 pki,public key infrastructure 逐步在國內外得到廣泛應用。我們是否真的需要pki,pki...

為什麼需要prototype

1.new object var newobj new object newobj.name keti newobj.color red newobj.changecolor function color 這種方法看上去很蠢,所以我們找到另一種方法 使用literal直接建立,看上去要優雅得多 2....

為什麼需要bootloader

受微控制器和arm7等小型cpu裝置程式設計思維的影響,開始對嵌入式linux和pc中存在bootloader bios的意義有了疑問 bootloader到底有沒有必要存在呢?答案是 大部分情況下是有必要的。首先,bootloader的作用是在硬體商店後執行的第一段軟體 也叫引導引導程式,是在作業...