在WPF的scrollviewer中溢出时,如何获取实际的Listview项目大小?

时间:2019-03-28 09:13:55

标签: c# wpf listview

我有一个列表视图,其中loadChildren来自import { NgModule } from '@angular/core'; import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; import { LoginComponent } from './components/login/login.component'; const routes: appRoutes = [ { path: 'alerts', loadChildren: './components/alerts/alerts.module#AlertsModule' }, { path: 'settings/assets', loadChildren: './components/settings/assets/assets.module#AssetsModule' }, { path: 'dashboard', loadChildren: './components/dashboard/dashboard.module#DashboardModule' }, { path: 'reports', loadChildren: './components/reports/reports.module#ReportsModule' }, { path: 'settings/alert', loadChildren: './components/settings/alert/alert.module#AlertModule' }, { path: 'settings/control-framework', loadChildren: './components/settings/control-framework/control-framework.module#ControlFrameworkModule' }, { path: 'login', component: LoginComponent }, { path: '', redirectTo: '/dashboard', pathMatch: 'full' }, { path: '**', redirectTo: '/dashboard' } ]; @NgModule({ imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })], exports: [RouterModule] }) export class AppRoutingModule { } 资源。

ItemTemplate

用户选择产品后,会将其添加到列表视图中,如下图所示:- enter image description here

当用户添加另一个将超出屏幕视图的产品时,我想使列表视图超过宽度,因此我将显示提示动画。

在根据每个用户选择更新了每个产品视图之后,我应该执行以下代码:-

DataTemplate

当前的结果<ListView x:Name="ProductSelected" MaxWidth="{Binding ElementName=GridProductSelected, Path=ViewportWidth}" Background="{x:Null}" ItemsSource="{Binding}" ItemTemplate="{StaticResource TemplateProductSelected}" Style="{StaticResource ListViewStyle}" IsSynchronizedWithCurrentItem="True" BorderBrush="{x:Null}"> <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <Setter Property="Background" Value="Transparent" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <ContentPresenter /> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.ItemContainerStyle> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel x:Name="StackSelected" Orientation="Horizontal" /> </ItemsPanelTemplate> </ListView.ItemsPanel> </ListView> 将与屏幕宽度相同,即使用户选择了该结果,直到看不见为止(需要在屏幕上水平滑动手势)。

如何获取Listview项目的宽度?

0 个答案:

没有答案