Reputation: 339
In my situation When I use productsLocLB.items.Clear(). it removes All items instead of removing only values.
ListBox x:Name="productsLocLB" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.CanContentScroll="False" BorderThickness="0" ItemsPanel="{StaticResource ListboxItemPanel}" HorizontalAlignment="Stretch" Width="Auto" Background="{x:Null}" Margin="0,25,0,0" Height="564" VerticalAlignment="Top" ItemContainerStyle="{StaticResource RackListBoxItemStyle}" >
<ListBox.ItemTemplate>
<!--User Info Cadview item Tamplate -->
<DataTemplate>
<Border >
<Grid HorizontalAlignment="Left" Width="150" Height="60" VerticalAlignment="Top" Cursor="Hand" MouseLeftButtonDown="Grid_OnMouseDownOrTouchDown" TouchDown="Grid_OnMouseDownOrTouchDown">
<Image x:Name="productLocImg" Width="150" Source="{Binding SPImage}" Stretch="Fill"/>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Label Content="{Binding ProductName}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="18" Background="#99000000"/>
<Label Content="{Binding Avalability}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" FontSize="14" Background="#90FFFFFF" FontWeight="Bold"/>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
<!---->
</ListBox.ItemTemplate>
<ListItem></ListItem>
<ListItem></ListItem>
<ListItem></ListItem>
</ListBox>
Upvotes: 0
Views: 481
Reputation: 6155
Remove
productsLocLB.items.Clear()
and write instead (assuming your collection which is bound to the ItemsSource
is called MyItems
and you want to set ProductName = string.Empty;
for each entry in this collection.
foreach(var item in MyItems)
{
ProductName = string.Empty;
}
You have to implement INotifyPropertyChanged
as well or the UI won't be notized and the new values won't shown.
Upvotes: 1