有幾種技術可以解決您的問題。我假設你有一些SelectionMode =「Multiple」或「Extended」的列表框,你需要跟蹤選擇的內容。我必須在列表框中顯示覆選框來做到這一點。
首先,手頭的問題,建立一個新的觀察集合這種方式(你需要在SHOPSelect一個構造函數一個SHOP:
Main.ShopList = new ObservableCollection<SHOPSelect>(
from shop in e.Result select new SHOPSelect(shop));
另一種方法是使用部分類定義IsSelected
public partial class SHOP
{
public bool IsSelected {get; set;}
}
另一種技術是再整的ListBoxItemContainer微軟使用的默認模板是在這裏:。http://msdn.microsoft.com/en-us/library/cc278062(v=VS.95).aspx通過更換
修改ListBoxItem的風格3210
<ContentPresenter
x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
與
<CheckBox x:Name="contentControl"
IsHitTestVisible="False" VerticalAlignment="Center"
HorizontalAlignment="Left" Margin="6,0,0,0"
IsChecked="{TemplateBinding IsSelected}">
<ContentPresenter Margin="6,0,0,0"
x:Name="contentPresenter"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
VerticalAlignment="Center"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" />
</CheckBox>
什麼是你的Main.ShopList是一個ObservableCollection在這種情況下,這是你的問題。 –
2012-01-16 21:17:51