1

プログラムで作成したい次のコードがあります。iはxamlの整数でなければなりません! これは VISIBLOX のサンプル コードです。

<Rectangle Margin="20,0,0,5" Height="10" Width="10" Fill="{Binding ElementName=chart, Path=Series[i].LineStroke}" VerticalAlignment="Center" />
        <TextBlock Margin="4,0,0,0" Text="{Binding ElementName=chart, Path=Series[i].DataSeries.Title}"  />
        <TextBlock Margin="4,0,0,0"  Text="(" HorizontalAlignment="Left" />
        <TextBlock Text="{Binding ElementName=chart, Path=Behaviour.Behaviours[0].CurrentPoints[i].Y, StringFormat=0.00}" Width="38" />
        <TextBlock Text=")" HorizontalAlignment="Right" />

ほとんどのプログラムを作成できますが、 Path=Behaviour.Behaviours[0].CurrentPoints[i].Yで 2 日間立ち往生しています。プログラムで作成する方法を確認することは不可能です!

助けてくれてありがとう

編集

ITの仕事

TextBlock txtBlock3 = new TextBlock();
Binding txtBinding3 = new Binding();
txtBinding3.ElementName = "MainChart";
txtBinding3.Path = new PropertyPath("Behaviour.Behaviours[0].CurrentPoints[" + index +"].Y");
txtBlock3.SetBinding(TextBlock.TextProperty, txtBinding3);
txtBlock3.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
Panel.Children.Add(txtBlock3);
4

1 に答える 1

2

おそらく、ある種の for ループでこの Binding を構築するつもりですか?

もしそうなら、次のようなことはできませんか?

Binding b = new Binding { Path = new PropertyPath("Behaviour.Behaviours[0].CurrentPoints[" + i +"].Y”) };

forループのどこにインデクサーがありますか? 問題を完全に理解しているかどうかわからないので、もう少しコンテキストを詳しく説明していただけますか?

CurrentPoints で利用できるものに応じて別のものにバインドしようとしている場合は、Benaviour.Behaviours[0] にバインドし、コンバーターを使用して正しいポイントの Y 値を返す必要がある場合があります。

さらにサポートが必要な場合は、お知らせください。

于 2011-08-10T08:16:01.420 に答える