2014-10-16 3 views
0

У меня есть метод, который изменяет цвет некоторых текстовых блоков, может ли вы предоставить контент в качестве параметра (строки) с помощью RelayCommand?Можете ли вы предоставить содержимое кнопки в качестве параметра с помощью RelayCommand?

<Button Command="{Binding ColorCommand}" 
       Content="Red" 
       x:Name="Red"/> 

<Button Command="{Binding ColorCommand}" 
       Content="Green" 
       x:Name="Green"/> 

public void getColorForeground(string color) 
    { 
     if (color == "Red") 
     { 
      RedBackGround = new SolidColorBrush(Colors.Red); 
     } 
     else if (color == "Green") 
     { 
      RedBackGround = new SolidColorBrush(Colors.Green); 
     } 
    } 

public RelayCommand ColorCommand 
    { 
     get 
     { 
      return new RelayCommand>(() => 
      { 
       getColorForeground(**NEED PARAMETER**);     
      }); 
     } 
    } 

ответ

0

Вы можете использовать свойство CommandParameter передать объект/значение для вашей команды:

<Button Command="{Binding ColorCommand}" CommandParameter="Red" 
       Content="Red" 
       x:Name="Red"/> 

public RelayCommand ColorCommand 
    { 
     get 
     { 
      return new RelayCommand>((color) => 
      { 
       getColorForeground(color);     
      }); 
     } 
    } 
+0

То есть именно то, что мне нужно! Спасибо. –