簡體   English   中英

MultiValueConverter對象[] ConvertBack

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM