您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)PART_Editor的使用實(shí)例,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
一、前言
在日常的界面開(kāi)發(fā)中,我們大多使用MVVM模式進(jìn)行開(kāi)發(fā)。通常情況下,一個(gè)PropertyGridControl或者DataGrid的ItemsSource設(shè)置好,
然后每一列綁定好某一條ItemsSource中的某一個(gè)字段就可以跑起來(lái)了。
但是也有另一種情況:
假設(shè)一個(gè)界面Temp.xaml,它的ViewModel為T(mén)empViewModel.cs;
有一個(gè)PropertyGridControl的ItemsSource以O(shè)bservableCollection<Model>綁定;
PropertyGridControl中的一個(gè)PropertyDefinition要重寫(xiě)Template,它所綁定的信息并不只有Model中的某個(gè)字段,
還可能包括Model中的若干個(gè)字段,甚至TempViewModel中的一些其它信息,這個(gè)時(shí)候該如何操作?
二、實(shí)例
Temp.xaml:
<services:DockablePane.Resources> <ResourceDictionary> <DataTemplate x:Key="EditTemplate"> <special:SpEdit x:Name="PART_Editor"/> //這里是關(guān)鍵?。。。。。。。。。。。。。。? </DataTemplate> </ResourceDictionary> </services:DockablePane.Resources> <dxprg:PropertyGridControl Margin="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"SelectedObjects="{Binding Infos}" ShowProperties="WithPropertyDefinitions"ShowDescriptionIn="ToolTipAndPanel" ShowCategories="True" ExpandCategoriesWhenSelectedObjectChanged="True"ShowMenuButtonInRows="False" ShowToolPanel="False" ShowSearchBox="False" SortMode="Definitions"> <dxprg:PropertyGridControl.PropertyDefinitions> <!--通用--> <dxprg:PropertyDefinition IsReadOnly="True" Path="Code"/> <dxprg:PropertyDefinition IsReadOnly="True" Path="AProperty"/> <dxprg:PropertyDefinition Path="BProperty"/> <dxprg:PropertyDefinition Path="CProperty"/> <dxprg:PropertyDefinition Path="DProperty"/> <dxprg:PropertyDefinition Path="EProperty" ContentTemplate="{StaticResource EditTemplate}"/> </dxprg:PropertyGridControl.PropertyDefinitions> </dxprg:PropertyGridControl>
在這里,我們重寫(xiě)的DataTemplate中的窗體名稱(chēng)為:PART_Editor
這個(gè)名字特別重要,不能改其它的。
這樣我們就可以在SpEdit這個(gè)窗體中調(diào)用TempViewModel的全部信息,因?yàn)檫@個(gè)時(shí)候TempViewModel已經(jīng)賦值給了SpEdit的DataContext的某個(gè)屬性上,
可能的情況是這樣的:
SpEdit.xaml.cs:
var source = this.DataContext as RowData;if (source != null) _sourceData = (source.Definition.DataContext) as VM;
這樣,我們就把Temp.xaml的ViewModel傳給了SpEdit的_sourceData。
關(guān)于“PART_Editor的使用實(shí)例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。