ホームページ  >  記事  >  バックエンド開発  >  PART_Editorの使用例を共有する

PART_Editorの使用例を共有する

零下一度
零下一度オリジナル
2017-06-23 15:56:411677ブラウズ

1. はじめに

日常のインターフェース開発では、主に MVVM モデルを使用して開発します。通常の状況では、PropertyGridControl または DataGrid の iTemssource が設定され、各列は特定の itemssource 内の特定のフィールドにバインドされます。

しかし、別の状況があります:

インターフェイス Temp.xaml があり、その ViewModel が

ObservableCo に基づく ItemsSource を持つ PropertyGridControl があるとします。コレクション

TempViewModel、この時にどのように操作すればよいでしょうか?

2. 例

Temp.xaml:

 <services:DockablePane.Resources>
        <ResourceDictionary>
             <DataTemplate x:Key="EditTemplate">
                <special:SpEdit x:Name="PART_Editor"/>  //这里是关键!!!!!!!!!!!!!!!
            </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>

書き換えられた DataTemplate のフォーム名は次のとおりです:

PART_Editor

この名前は非常に重要なので、他の名前に変更することはできません。

このようにして、TempViewModel

のすべての情報を
SpEdit
の形式で呼び出すことができます。これは、この時点で

TempViewModel

SpEditのDataContextの特定の属性に割り当てられているためです。 考えられる状況は次のとおりです: SpEdit.xaml.cs:

var source = this.DataContext as RowData;if (source != null)
     _sourceData = (source.Definition.DataContext) as VM;

このようにして、Temp.xaml の ViewModel を SpEdit の _sourceData に渡します。 3. まとめ

この記事では主に、書き換えインターフェイスでソース UI の ViewModel 情報を取得する方法について説明します。 PART_Editor は非常に実用的な隠しメソッドです。

以上がPART_Editorの使用例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。