[英]MultiValueConverter object[] ConvertBack
我正在轉換器上,我很新。 我不知道如何從xaml綁定中獲取價值。 可能會寫我的代碼。
在我的轉換代碼中,我有些困惑。 對於Double B,我需要B在XAML中的值
<TextBlock Text="Offset X [px]"
Style="{StaticResource StdTextBlockStyle}" />
<TextBox x:Uid="TextBox_1"
Style="{StaticResource StdTextBoxStyle}" >
<TextBox.Text>
<MultiBinding Converter="{StaticResource Conv}">
<Binding Path="B" />
<Binding Path="A" />
</MultiBinding>
</TextBox.Text>
</TextBox>
<TextBlock />
// C#代碼//
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
double B = (double)values[0];
double A = (double)values[1];
double C = A-B;
return C;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
double C = (double)value;
double B = // I DON'T KNOW HOW TO GET VALUE FOR B. B is from XAML// ???
object[] ret = new object[1];
ret[0] = C + B;
return ret;
您應該了解,結果ConvertBack
是
double B = (double)values[0];
double A = (double)values[1];
您在Convert
定義。 MultiValueConverter
中轉換的主要思想是定義自己的邏輯,您希望如何查看這些值。 這意味着您需要定義邏輯來計算此數組。 根據您的Convert
函數:
double C = A-B;
我們在ConvertBack
:
double B=A-C;
double A=C+B;
我們無法計算A和B來定義
Array[] x = new []{ A, B };
因為我們這里有2個未知變量的等式。 抱歉,我不認為該表達式可以轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.