【发布时间】:2017-07-22 09:22:13
【问题描述】:
在我的 WinRT 应用程序中,我想显示状态值列表并突出显示当前状态。显示列表时,它应该是只读的,因此不会与用户交互。尽管我使用的是 ListView,但我希望禁用任何选择功能。我认为禁用 ListView 可以解决这个问题。 但是现在在我的代码后面我有;
public IList<JobStatusItem> StatusList
{
get
{
var values = Enum.GetValues(typeof(JobStatus));
var selected = Status.ToString();
var i = 0;
var list = new List<JobStatusItem>();
foreach (var value in values)
{
i++;
var item = GetStatusDisplay(value.ToString());
list.Add(new JobStatusItem
{
Id = i,
Status = item,
Selected = value.ToString().Equals(selected)
});
}
return list;
}
}
对于我的 XAML,我有
<ListView x:Name="ListStatus"
IsItemClickEnabled="False"
IsSwipeEnabled="False"
SelectionMode="Single"
ItemsSource="{Binding Path=AssignedJobs.SelectedDay.SelectedJob.StatusList, Mode=OneWay}"
>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="{Binding Path=Selected, Mode=OneWay}"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Status}"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
当我运行它时,所选状态的样式未设置为已选择。为什么会这样?我该如何解决?
【问题讨论】:
标签: c# xaml windows-runtime