Comment calculer une valeur dans WPF Liaison

J'ai une application qui utilise deux curseurs pour générer un produit utilisé ailleurs dans le code. Ce que je voudrais, c'est avoir la valeur du produit lié à un textblock ou une info-bulle, par exemple, à ressembler à quelque chose comme "10 x 15 = 150".

La première partie est facile, et ressemble à ceci:

<TextBlock.Text>
    <MultiBinding StringFormat="{}{0} x {1}">
        <Binding ElementName="amount_slider" Path="Value" />
        <Binding ElementName="frequency_slider" Path="Value"/>
    </MultiBinding>
</TextBlock.Text>

Mais ce qui est une bonne manière de faire passer le produit dans il ainsi?

À l'aide de Pavlo Glazkov la solution, je l'ai modifié pour ressembler à ceci:

public class MultiplyFormulaStringConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var doubleValues = values.Cast<double>().ToArray();
double x = doubleValues[0];
double y = doubleValues[1];
var leftPart = x.ToString() + " x " + y.ToString();
var rightPart = (x * y).ToString();
var result = string.Format("{0} = {1}", leftPart, rightPart);
return result;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

Et l'importance de la

<Window.Resources>
<local:MultiplyFormulaStringConverter x:Key="MultiplyFormulaStringConverter"/>
</Window.Resources>

Merci!

InformationsquelleAutor coldandtired | 2011-02-20