私はWPFで少し遊んでいます。ここで私はそれをしたいどのように動作しませんコードです。他のタイプとWPFでバインドするには?
<ListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" ItemsSource="{Binding FilesToUpload}">
<ListView.View>
<GridView>
<GridViewColumn Header="Filename" DisplayMemberBinding="{Binding FileName}">
</GridViewColumn>
<GridViewColumn Header="Uploaded" DisplayMemberBinding="{Binding Uploaded}">
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
ListSourceのItemsSourceは、このクラスのコレクションを返すクラスのプロパティにバインドします。
public class FileInformation
{
public String FileName { get; set; }
public ProgressBar Uploaded { get; set; }
public FileInformation(String file)
{
FileName = file;
Uploaded = new ProgressBar();
Uploaded.Value = 8;
Uploaded.BorderThickness = new System.Windows.Thickness(5);
}
}
上記のxamlの例のGridViewには2つの列があります。 1つはFileInformationクラスのFileNameプロパティにバインドされ、もう1つはUploadedにバインドされます。
問題があります。 UploadedプロパティはProgressBarを返しますが、Uploadedにバインドするカラムの内容はString(ProgressBarの推測値のToString()メソッドの戻り値)です。
文字列の代わりにProgressBarを表示するにはどうすればよいですか?
が直接 'ProgressBar'には結合しないでください、あなたのFileInformationクラスのプロパティです。私は現時点でコードにアクセスすることはできませんが、セルに表示されている矩形の幅をプログレスバーの「値」にバインドすることでプログレスバーを再作成することができます。 – ChrisF