[英]Windows Store App: Programatically access control from style in ListView
我在ListView控件上使用了自定義樣式。 當用戶單擊ListView中的項目時,我開始下載文件,id喜歡更新該特定ListViewItem上的進度條。 這是我使用的樣式:
<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>
這是我嘗試過的一些方法:
我全都沒主意了。 任何幫助表示贊賞。 謝謝。
將ViewModel
用於ListView
每個項目。 因此,使它成為ObservableCollection<DownloadableContentViewModel<Model>>
而不是ObservableCollection<Model>
。
然后,在此ViewModel
,為ProgressBar
放入值,例如是否應顯示ProgressBar
以及該值應為多少。 通過WrappedItem
屬性之類的東西公開您的Model
。
您的Bindings
將更改為Text="{Binding WrappedItem.Name}"
,但否則將以相同的方式工作。
另外,您應該在Wrapper
ViewModel
放置一個Command
,該Command
開始下載並執行該邏輯。 然后,您可以將其綁定到ListViewItem
內的按鈕。
希望對您有所幫助,編碼愉快!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.