C# Windows应用商店应用程序:从ListView中的样式以编程方式进行访问控制
我正在ListView控件上使用自定义样式。当用户单击ListView中的某个项目时,我开始下载文件,我想更新该特定ListViewItem上的进度条。以下是我使用的样式:C# Windows应用商店应用程序:从ListView中的样式以编程方式进行访问控制,c#,windows-8,windows-store-apps,winrt-xaml,C#,Windows 8,Windows Store Apps,Winrt Xaml,我正在ListView控件上使用自定义样式。当用户单击ListView中的某个项目时,我开始下载文件,我想更新该特定ListViewItem上的进度条。以下是我使用的样式: <DataTemplate x:Key="UpdatesListViewItemTemplate"> <Grid Height="80"> <Grid.ColumnDefinitions> <ColumnDefinition Width
<DataTemplate x:Key="UpdatesListViewItemTemplate">
<Grid Height="80">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="5,0,10,5">
<TextBlock Text="{Binding Name}" Style="{StaticResource ListViewTitleTextStyle}" TextWrapping="NoWrap" Margin="0, 2"/>
<TextBlock Text="{Binding Description}" Style="{StaticResource ListViewDetailTextStyle}" TextWrapping="NoWrap" Margin="0, 2"/>
<TextBlock Text="{Binding Date}" Style="{StaticResource ListViewDetailTextStyle}" TextWrapping="NoWrap" Margin="0, 2"/>
</StackPanel>
<ProgressBar x:Name="progressBar" Grid.Column="1" Margin="5, 0" />
</Grid>
</DataTemplate>
以下是我尝试过的一些事情:
将名为DownloadProgress的属性绑定到进度栏的Value属性。有没有办法更新特定的ListViewItem,使其重新获取绑定值?
尝试从传递到ItemClick方法的sender对象访问ListViewItem。我找不到任何返回ListViewItem的属性/方法。
我完全没有主意了。感谢您的帮助。谢谢。为ListView中的每个项目使用ViewModel。因此,不要使用ObservableCollection,而是使用ObservableCollection
然后,在此ViewModel中,输入ProgressBar的值,例如是否应显示ProgressBar以及值应该是什么。通过类似WrappedItem属性的方式公开模型
您的绑定将更改为Text={Binding WrappedItem.Name},但在其他情况下工作方式相同
此外,您应该在包装器ViewModel中放置一个命令,该命令启动下载并执行该逻辑。然后可以将其绑定到ListViewItem中的按钮
希望这有帮助,快乐编码