2

メソッドから取得したテキストブロックに値をバインドする方法はありますか?たとえば、PersonオブジェクトをHierarchicalDataTemplateに渡し、そこからそのWeightプロパティにアクセスできます。ここで、火星の重みを取得したいとします。intEarthWeightのパラメーターを受け取るInMarsメソッドを呼び出します。地球の重さは人から人へと変化しますが、このパラメータを毎回どのように設定できますか?

4

1 に答える 1

3

これを行う最良の方法は、コンバーターを使用することです。

public class WeightOnMarsConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        // value will be the persons weight
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException("This method should never be called");
    }
}

次に、バインディングを設定する必要があります。

<l:WeightOnMarsConverter x:key="weightOnMars" /> <-- Add this to the resources

{Binding Path=Weight, Converter={StaticResource weightOnMars}}
于 2009-11-22T23:42:07.007 に答える