2009-12-03 3 views

Répondre

1

est ici une façon:

Mettre ceci dans la fenêtre:

public static readonly RoutedUICommand clickCommand = new RoutedUICommand("TheCommand", "TheCommand", typeof(Window1)); 

void ClickRectangle(object sender, ExecutedRoutedEventArgs e) 
{ 
    if (e.Parameter == null) 
     return; 
    MessageBox.Show("parameter = " + e.Parameter.ToString()); 
} 

Ensuite, dans le XAML:

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:my="clr-namespace:WpfApplication1" 
    Title="Window1" Height="300" Width="300"> 
    <Grid> 
     <Rectangle Margin="50" Fill="Blue"> 
      <Rectangle.CommandBindings> 
       <CommandBinding 
        Command="my:Window1.clickCommand" Executed="ClickRectangle" /> 
      </Rectangle.CommandBindings> 
      <Rectangle.InputBindings> 
       <MouseBinding MouseAction="LeftClick" 
           Command="my:Window1.clickCommand" CommandParameter="123" /> 
      </Rectangle.InputBindings> 
     </Rectangle> 
    </Grid> 
</Window> 
+0

Merci. Pourriez-vous s'il vous plaît dire, est-il un moyen d'intégrer un tel paramètre dans un contrôle personnalisé représentant ce rectangle afin d'optimiser le code dans le cas où nous avons des centaines de tels rectangles? (De sorte que nous assignons seulement une valeur au paramètre de chaque rectangles). – rem

+0

Je pense que vous parlez de Dependecy Properties ... cherchez-les et voyez si vous pouvez les faire travailler pour vous - sinon, vous pouvez poster une autre question :) – kiwipom

+0

Merci. Tu m'as beaucoup aidé. Je cherche maintenant les propriétés de dépendance. – rem

Questions connexes