Maison >développement back-end >Tutoriel C#.Net >Partager des exemples d'utilisation de PART_Editor

Partager des exemples d'utilisation de PART_Editor

零下一度
零下一度original
2017-06-23 15:56:411779parcourir

1. Avant-propos

 Au quotidien life Dans le développement d'interfaces, nous utilisons principalement le modèle MVVM pour le développement. Normalement, le ItemsSource d'un PropertyGridControl ou DataGrid est configuré,

, puis chaque colonne est liée à un champ dans un ItemsSource et peut ensuite s'exécuter.

Mais il existe une autre situation :

Supposons une interface Temp.xaml, son ViewModel est TempViewModel.cs ;

Il existe un PropertyGridControl ItemsSource lié à ObservableCollection; > Une PropertyDefinition dans PropertyGridControl doit remplacer le modèle, et les informations qu'elle lie ne sont pas seulement un certain champ dans Model

,

Il peut également inclure plusieurs champs dans le Model

, ou même

quelques autres informations dans le TempViewModel Comment dois-je opérer à ce moment-là ?

2. Exemples

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>
Ici, nous remplaçons le formulaire dans le DataTemplate Le nom est :

PART_Editor

Ce nom est très important et ne peut être changé en autre chose.

De cette façon, nous pouvons appeler toutes les informations de TempViewModel sous la forme

SpEdit

, car à ce moment TempViewModel Sur une propriété de qui a été affectée au DataContext de SpEdit, la situation possible de est la suivante suit :

SpEdit.xaml.cs:

De cette façon, nous passons le ViewModel de Le _sourceData de Temp.xaml SpEdit est donné.
var source = this.DataContext as RowData;if (source != null)
     _sourceData = (source.Definition.DataContext) as VM;

3.Résumé

  

Cet article décrit principalement comment obtenir les informations ViewModel dans l'interface utilisateur source dans l'interface de réécriture. PART_Editor est une méthode cachée très pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn