我有一個listview包含一些項目。當我選擇一個項目時,我想擴展該項目以顯示詳細信息,我應該怎麼做?UWP ListView:選擇它時如何擴展項目?
回答
我沒有仔細檢查了CustomControl
它通過@AVK杜女士,這是很好的,似乎能夠解決您的問題提供。但是,我要在這裏說,這是完全可能做到這一點的工作與默認ListView
控制,你需要的就是改變DataTemplate
您ListViewItem
被選中時,它是什麼。
就比如這裏:
<Page.Resources>
<DataTemplate x:Name="Normal" x:Key="Normal">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
<DataTemplate x:Name="Detail" x:Key="Detail">
<StackPanel>
<TextBlock Text="{Binding Name}" FontSize="30" Foreground="Red" HorizontalAlignment="Center" />
<TextBlock Text="Details:" FontSize="30" Foreground="Blue" Margin="0,10" />
<TextBlock Text="{Binding Details}" FontSize="20" />
</StackPanel>
</DataTemplate>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListView ItemTemplate="{StaticResource Normal}"
ItemsSource="{x:Bind Collection}" SelectionChanged="listView_SelectionChanged" />
</Grid>
代碼背後listView_SelectionChanged
:
private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//Assign DataTemplate for selected items
foreach (var item in e.AddedItems)
{
ListViewItem lvi = (sender as ListView).ContainerFromItem(item) as ListViewItem;
lvi.ContentTemplate = (DataTemplate)this.Resources["Detail"];
}
//Remove DataTemplate for unselected items
foreach (var item in e.RemovedItems)
{
ListViewItem lvi = (sender as ListView).ContainerFromItem(item) as ListViewItem;
lvi.ContentTemplate = (DataTemplate)this.Resources["Normal"];
}
}
結果:
哇!這絕對是我想要的!謝謝^ _^ – THaGKI9
但是我覺得把不同的大小分配給不同的項目是不屬性的,因爲這會影響用戶體驗。最後我爲我的應用程序添加一個詳細頁面。 – THaGKI9
@ THaGKI9,'但我覺得這不是物業分配不同的大小不同的物品',你的意思是不正確?我認爲它基於你的應用需要實現的功能。並且實現一個主/細節也是一個方法,爲了實現這個,你可以參考官方的[Master/detail sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/) XamlMasterDetail)。 –
- 1. WPF綁定listview選擇項目擴展器擴展
- 2. 選擇ListView項目
- 3. 如何選擇一個項目? - ListView
- 4. 如何從ListView中選擇項目?
- 5. 如何選擇所有的listview項目?
- 6. Android ListView:如何選擇一個項目?
- 7. ListView/DataGridView分組在選擇項目時展開
- 8. 無法取消選擇MVVM UWP中的ListView項目
- 9. UWP ListView項目點擊
- 10. ListView項目擴展到WebViews - Transition Animation
- 11. Android Listview項目選擇
- 12. 無法選擇ListView項目
- 13. listView選擇多個項目
- 14. listview已選擇項目
- 15. 選擇Kendo UI ListView項目
- 16. JavaFX ListView項目選擇
- 17. 如何更改在UWP中選定的ListView項目的樣式
- 18. UWP gridview項目選擇風格
- 19. 動態擴展選擇選項背景
- 20. 如何只選擇一個項目時觸發事件(ListView)?
- 21. ListView的項目有DropDownList:選擇更改時如何獲取DataItem?
- 22. 如何在xamarin android上選擇listview時獲取項目?
- 23. 如何在ListView只允許1選擇的項目在時間
- 24. 如何在點擊按鈕時選擇listview項目
- 25. 如何擴展WinForms ListView項目的可點擊區域?
- 26. 如何擴展Windows 10中SelectionChanged事件的ListView項目?
- 27. c#如何擴展ListView中的項目以佔用多行?
- 28. ListView頁腳僅在選擇listview項目後纔可選擇
- 29. 如何在添加選項時擴展html選項
- 30. 如何知道在擴展選擇模式DataGrid中選定的項目?
歡迎堆棧溢出!請查看我們的[SO問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)來幫助你提出一個好問題,從而得到一個很好的答案。 –
沒有默認控件這樣做。但是有類似行爲的CustomControls。看看[這](http://deanchalk.com/a-xaml-uwp-custom-control-the-expander/) – AVK
@AVKNaidu,這是非常謝謝你提供這樣的CustomControl,但我想與默認的'ListView'控件說,這項工作可以完成,你可以檢查我的答案的細節。 –