Exporter (0) Imprimer
Développer tout

ObjectDataProvider.MethodParameters, propriété

Mise à jour : novembre 2007

Obtient que la liste de paramètres passe à la méthode.

Espace de noms :  System.Windows.Data
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

public IList MethodParameters { get; }
/** @property */
public IList get_MethodParameters()

public function get MethodParameters () : IList

<object>
  <object.MethodParameters>
    parameterValues
  </object.MethodParameters>
</object>

Valeur de propriété

Type : System.Collections.IList

Liste de paramètres à passer à la méthode. La valeur par défaut correspond à une liste vide.

Vous pouvez utiliser la propriété MethodName pour appeler une méthode dans votre objet et utiliser la propriété MethodParameters pour passer des paramètres à la méthode. Vous pouvez ensuite créer une liaison aux résultats de la méthode.

La modification implicite de cette collection provoque le rafraîchissement de l'objet ObjectDataProvider. L'utilisation de DeferRefresh est recommandée lors de la modification de plusieurs propriétés d'actualisation.

L'exemple suivant indique comment créer une liaison avec une méthode à l'aide de ObjectDataProvider.

Dans cet exemple, TemperatureScale est une classe qui a une méthode ConvertTemp, qui prend deux paramètres (un de type double et un de type enumTempType)) et convertit la valeur donnée d'une échelle de température à une autre. Dans l'exemple suivant, un ObjectDataProvider est utilisé pour instancier l'objet TemperatureScale. La méthode ConvertTemp est appelée avec deux paramètres spécifiés.

<Window.Resources>
  <ObjectDataProvider ObjectType="{x:Type local:TemperatureScale}"
                      MethodName="ConvertTemp" x:Key="convertTemp">
    <ObjectDataProvider.MethodParameters>
      <system:Double>0</system:Double>
      <local:TempType>Celsius</local:TempType>
    </ObjectDataProvider.MethodParameters>
  </ObjectDataProvider>

  <local:DoubleToString x:Key="doubleToString" />

</Window.Resources>


Maintenant que la méthode est disponible en tant que ressource, vous pouvez créer une liaison avec ses résultats. Dans l'exemple suivant, la propriété Text du TextBox et le SelectedValue du ComboBox est liée aux deux paramètres de la méthode. Cela permet aux utilisateurs de spécifier la température sur et à partir de laquelle effectuer la conversion. Notez que BindsDirectlyToSource a la valeur true car nous créons une liaison avec la propriété MethodParameters de l'instance ObjectDataProvider et pas avec les propriétés de l'objet encapsulé par le ObjectDataProvider (l'objet TemperatureScale ).

Le Content du dernier Label se met à jour lorsque l'utilisateur modifie le contenu du TextBox ou la sélection du ComboBox.

<Label Grid.Row="1" HorizontalAlignment="Right">Enter the degree to convert:</Label>
<TextBox Grid.Row="1" Grid.Column="1" Name="tb">
  <TextBox.Text>
    <Binding Source="{StaticResource convertTemp}" Path="MethodParameters[0]"
             BindsDirectlyToSource="true" UpdateSourceTrigger="PropertyChanged"
             Converter="{StaticResource doubleToString}">
      <Binding.ValidationRules>
        <local:InvalidCharacterRule/>
      </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>
<ComboBox Grid.Row="1" Grid.Column="2" 
  SelectedValue="{Binding Source={StaticResource convertTemp},
  Path=MethodParameters[1], BindsDirectlyToSource=true}">
  <local:TempType>Celsius</local:TempType>
  <local:TempType>Fahrenheit</local:TempType>
</ComboBox>
<Label Grid.Row="2" HorizontalAlignment="Right">Result:</Label>
<Label Content="{Binding Source={StaticResource convertTemp}}"
    Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"/>


Le convertisseur DoubleToString prend un double et le transforme en chaîne dans la direction Convert (de la source de liaison à la cible de liaison, qui est la propriété Text ) et convertit un string en double dans la direction ConvertBack.

La InvalidationCharacterRule est une ValidationRule qui vérifie les caractères non valides. Le modèle d'erreur par défaut, qui est une bordure rouge autour du TextBox semble notifier les utilisateurs lorsque la valeur d'entrée n'est pas une valeur double.

Pour obtenir l'exemple complet, consultez Liaison aux résultats d'une méthode, exemple.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft