C# 如何在WPF中与其他类型绑定?
我正在和WPF玩一玩。这里的代码无法按我所希望的方式工作C# 如何在WPF中与其他类型绑定?,c#,wpf,binding,mvvm,C#,Wpf,Binding,Mvvm,我正在和WPF玩一玩。这里的代码无法按我所希望的方式工作 <ListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" ItemsSource="{Binding FilesToUpload}"> <ListView.View> <GridView> <GridViewColumn Header="Fil
<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>
上面xaml示例中的GridView有两列。一个绑定到类FileInformation的属性FileName,另一个绑定到upload
问题是。Upload属性返回一个ProgressBar,但绑定到Upload的列的内容是一个字符串(我猜是ProgressBar的ToString()方法的returnvalue)
关于如何显示ProgressBar而不是字符串,有什么建议吗?wpf不支持类型绑定,它只绑定ti属性。所以,如果需要绑定进度条,则需要将progressbase放置在普通列之外。还可以基于viewbase创建自定义视图 请参见下面链接上的示例
wpf不支持类型绑定,它只绑定ti属性。所以,如果需要绑定进度条,则需要将progressbase放置在普通列之外。还可以基于viewbase创建自定义视图 请参见下面链接上的示例 试试这个:
<GridViewColumn Header="Progress">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ProgressBar Maximum="100" Value="{Binding Uploaded.Value}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
试试这个:
<GridViewColumn Header="Progress">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ProgressBar Maximum="100" Value="{Binding Uploaded.Value}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
在绑定中将对象作为源从FrameworkElement继承是一个非常糟糕的想法 创建一个仅存储视图(xaml文件)中定义的ProgressBar数据的类 现在,您上传的属性应该返回ProgressBarViewModel的一个实例,您可以通过多种方式将该实例绑定到ProgressBar 我告诉你一个方法:
<GridViewColumn Header="Uploaded">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ProgressBar Value="{Binding Path=Uploaded.Value}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
注意:在绑定中上载是FileInformation类的属性将绑定中从FrameworkElement继承的对象作为源是一个非常糟糕的主意 创建一个仅存储视图(xaml文件)中定义的ProgressBar数据的类 现在,您上传的属性应该返回ProgressBarViewModel的一个实例,您可以通过多种方式将该实例绑定到ProgressBar 我告诉你一个方法:
<GridViewColumn Header="Uploaded">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ProgressBar Value="{Binding Path=Uploaded.Value}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
注意:绑定中上载的是FileInformation类的属性不要直接绑定到
进度条
。我目前无法访问代码,但您应该能够通过将单元格中显示的矩形宽度绑定到进度条的值来重新创建进度条。不要直接绑定到进度条。我目前无法访问代码,但您应该能够通过将单元格中显示的矩形宽度绑定到进度条的值来重新创建进度条。