在单选模式下。首先将一个布尔属性添加到绑定类型的类中,它定义了哪些项目可以像这样单击
class TestClass
{
Boolean IsClickAllowed{get;set;}
string name{get;set;}
}
然后创建一个 TestClass 类型的源列表并将其设置为 Listview 的 itemssource 像这样
var TempList=new List<>()
{
new TextClass(){IsClickAllowed=false,name="First Item"},
new TextClass(){IsClickAllowed=true,name="Second Item"},
new TextClass(){IsClickAllowed=false,name="Third Item"},
};
MyList.ItemsSource=TempList;
并为实现DataTemplateSelector的非可点击项设置不同的DataTemplate以及最后为 ItemClick 事件中的单击句柄灰显。您需要将 IsItemClickEnabled 设置为 true。
private void MyList_ItemClick(object sender, ItemClickEventArgs e)
{
var item = e.ClickedItem as TestClass;
if (item != null){
if(item.IsClickAllowed){
//Do Stuff here
}else
{
//Do Nothing
}
}}
希望能帮助到你。