ho incontrato qualcosa di molto strano, semplice applicazione WPFListBox sta selezionando molti articoli anche in SelectionMode = "single"
<Window x:Class="ListBoxSelection.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox ItemsSource="{Binding Path=Strings}" SelectionMode="Single"/>
</Grid>
</Window>
con codice dietro
public class ViewModel
{
public List<string> Strings { get; set; }
public ViewModel()
{
Strings = new List<string>();
Strings.Add ("A");
// add many items ...
Strings.Add ("A");
}
}
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ViewModel();
}
}
e quando clicco su un singolo elemento ,
se continuo gli elementi cliccando, t ehi solo aggregati. Fare clic su un elemento già selezionato non fa nulla. Grattandomi la testa, ho elenchi di databound per ListBoxes prima, e non ho mai visto questo prima. L'esecuzione di Win7 (64), VS2010, presenta il comportamento con .Net 3.5, .Net 3.5 Client Profile, .Net 4 e .Net 4 Client Profile.
Arg, dovrei dire che mi aspetto un comportamento normale, predefinito, a selezione singola.
Sospetto che ciò stia accadendo perché tutte le selezioni sono in realtà la stessa istanza (tutti gli stessi riferimenti alla stessa stringa costante). –
Controllare la proprietà SelectedItems.Forse sta selezionando solo un oggetto, ma qualcosa negli stili è rovinato. –
@Dan. Questa è una teoria interessante, la testerei anch'io, ma devo partire presto. –