1

コード ビハインドで次の xaml バインディングを実装するにはどうすればよいですか?

<Canvas x:Name="_YAxis">
    <Label Content="0.2" Canvas.Left="25" Canvas.Bottom="{Binding ElementName=_YAxis, Path=ActualHeight, Converter={StaticResource myPercentageOf}, ConverterParameter={StaticResource Constant_pt2} }"  />
</Canvas>

コンバーターは、Canvas の実際の高さに 0.2 を掛けるだけであることに注意してください。

ほとんどの種類のバインディングを整理できますが、これには困惑しています。

を使用してバインディングを作成できます

Label label = new Label() { label.Content = "0.2" };

Binding binding = new Binding("ActualHeight");
binding.Source = _YAxis;

// attach binding ???

_YAxis.Children.Add(label);

しかし、バインディングを Canvas.Left 添付プロパティに添付するにはどうすればよいですか?

4

1 に答える 1

3

どうぞ:

    Binding b = new Binding();
    b.Path = new PropertyPath("ActualHeight");
    b.Source = _YAxis;// OR b.ElementName = "_YAxis"
    b.Converter = Resources["myPercentageOf"];
    b.ConverterParameter = Resources["Constant_pt2"];

    Label label = new Label() { label.Content = "0.2" };
    _YAxis.Children.Add(label);
    label.SetBinding(Canvas.BottomProperty, b); //Binding Canvas.Bottom to ActualHeight of _YAxis
    Canvas.SetLeft(label, 25); //Setting Canvas.Left
于 2013-09-12T16:38:52.553 に答える