2016-06-09 43 views
0

我已經實現從的IValueConverter方法的類X.如何使用(Xamarin.Forms)XAML中的IValueConverter轉換完整對象?

public class X : IValueConverter { 
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { 
     ... 
} 
... 
} 

在XAML我<Label Text="{Binding A, Converter={StaticResource TextConverter}, ConverterParameter=X}" />

這工作得很好。屬性A(來自類Y的一個實例)在我的類X實例中傳遞給Convert方法,並且可以轉換。

public class Y { 
public string A { get; set; } 
public string B { get; set; } 
} 

現在我想將完整的對象傳遞給Convert方法。所以如果我可以在我的convert方法中從類Y的實例訪問屬性A和B.

因此,我將我的XAML代碼更改爲<Label Text="{Binding ., Converter={StaticResource TextConverter}, ConverterParameter=X}" />但它沒有奏效。 Convert方法中的參數值始終爲空。

如何傳遞完整的對象(來自Y類型)?或者如果這是不可能的,我怎樣才能將多個屬性傳遞給Convert方法?在XAML中。

+0

您的代碼似乎是錯誤的...您無法將類'X'作爲轉換器參數 –

+0

嘗試使用多重綁定... http://stackoverflow.com/a/6358345/4767498 –

回答

1

可以傳遞的class YProperty

首先,你需要創建類像下面的屬性,

public Y NewObject { get; set; } 

然後,你必須使用你的NewObject綁定像

<Label Text="{Binding NewObject, Converter={StaticResource TextConverter}, ConverterParameter=X}" /> 

現在在您的轉換器中,您將能夠獲得對象並獲得AB使用NewObject的屬性。

相關問題