更改ListView上的TextBlock的ColumnSpan
本文关键字:ColumnSpan TextBlock 上的 ListView 更改 | 更新日期: 2023-09-27 17:50:45
我正在构建一个UWP应用程序,我有一个问题与我的ListView。我想从我的ListView中的TextBlock更改ColumnSpan。
<ListView Grid.Row="1" BorderBrush="#0062AD" BorderThickness="1" ItemsSource="{Binding BusRoutes}" x:Name="Routes1" SelectionMode="None" IsItemClickEnabled="False" Padding="0 10 0 0">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="400">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="startingPoint" Grid.Row="0" Grid.Column="0" Padding="0 10 0 10" TextAlignment="Center" HorizontalAlignment="Center" Text="{Binding hours}"/>
<TextBlock TextAlignment="Center" Grid.Row="0" Grid.Column="1" Padding="0 10 0 10" x:Name="endingPoint" HorizontalAlignment="Center" Text="{Binding hours2}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我的意思是,我想设置为名称为startingPoint ColumnSpan = 2的TextBlox,并使名称为endingPoint的TextBlock以编程方式崩溃。这可能吗?
是的,你可以通过使用:
endingPoint.Visibility = Visibility.Collapsed; //to make it invisible
Grid.SetColumnSpan(startingPoint, 2); //to change it the 2 column span
希望能有所帮助。
我认为你面临的问题是找到控件而不是列表视图。既然你已经完成了绑定。最好的方法是为可见性和列跨度创建视图模型属性,并通过编程方式进行设置。将属性绑定到xaml。因为你已经有了绑定,它应该很容易做到