Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie Anwendungsbeispiele von PART_Editor

Teilen Sie Anwendungsbeispiele von PART_Editor

零下一度
零下一度Original
2017-06-23 15:56:411677Durchsuche

1. Vorwort

 Täglich Leben In der Schnittstellenentwicklung verwenden wir hauptsächlich das MVVM-Modell für die Entwicklung. Normalerweise wird die ItemsSource eines PropertyGridControl oder DataGrid eingerichtet,

und dann wird jede Spalte an ein Feld in einer ItemsSource gebunden und kann dann ausgeführt werden.

Aber es gibt noch eine andere Situation:

Angenommen, eine Schnittstelle Temp.xaml, Its ViewModel ist TempViewModel.cs;

Es gibt eine PropertyGridControl ItemsSource, die an ObservableCollection gebunden ist > Eine PropertyDefinition in PropertyGridControl muss Template überschreiben, und die Informationen, die sie bindet, sind nicht nur ein bestimmtes Feld in Model

,

Es kann auch mehrere Felder im Modell enthalten

oder sogar

einige andere Informationen im TempViewModel. Wie sollte ich zu diesem Zeitpunkt vorgehen?

2. Beispiele

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>
Hier überschreiben wir das Formular im DataTemplate. Der Name lautet :

PART_Editor

Dieser Name ist sehr wichtig und kann nicht in einen anderen geändert werden.

Auf diese Weise können wir alle Informationen von TempViewModel in der Form

SpEdit

aufrufen, denn zu diesem Zeitpunkt TempViewModel Auf einer Eigenschaft von , die dem DataContext von SpEdit zugewiesen wurde, ist die mögliche Situation von wie folgt folgt:

SpEdit.xaml.cs:

Auf diese Weise übergeben wir das ViewModel von Die _sourceData von Temp.xaml SpEdit werden angegeben.
var source = this.DataContext as RowData;if (source != null)
     _sourceData = (source.Definition.DataContext) as VM;

3. Zusammenfassung

  

In diesem Artikel wird hauptsächlich beschrieben, wie die ViewModel-Informationen in der Quell-Benutzeroberfläche in der Rewrite-Schnittstelle abgerufen werden. PART_Editor ist eine sehr praktische versteckte Methode.

Das obige ist der detaillierte Inhalt vonTeilen Sie Anwendungsbeispiele von PART_Editor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn