我有一个列表视图显示这个(或多或少):
--------------------------------------------------------
| Rule no. | Rule Type | Rule Name | Priority | Active |
--------------------------------------------------------
| 1 | 1 | My Rule | 1 | 1 |
--------------------------------------------------------
使用此 XAML:
<ListView.View>
<GridView>
<GridViewColumn Header="Rule No" DisplayMemberBinding="{Binding Path=RuleNo}" Width="150" />
<GridViewColumn Header="Rule Type" DisplayMemberBinding="{Binding Path=RuleTypeNo}" Width="75">
<GridViewColumn.CellTemplate>
<DataTemplate>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=RuleTypeNo}" Value="1">
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Rule Name" DisplayMemberBinding="{Binding Path=RuleName}" Width="430"/>
<GridViewColumn Header="Priority" DisplayMemberBinding="{Binding Path=RulePriority}" Width="50"/>
<GridViewColumn Header="Active" Width="50">
<GridViewColumn.CellTemplate>
<HierarchicalDataTemplate>
<CheckBox Visibility="Visible" Name="chkActive" IsChecked="{Binding RuleActive}">
<TextBlock Text=" "/>
</CheckBox>
</HierarchicalDataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
我要做的就是为 RuleTypeNo 列更改数据值
1
成词
应用程序
和价值
2
成词
拨号
在运行时在列表视图单元格中可视化。例如。如果列包含 1,则显示一个单词,如果列包含 2,则显示另一个单词。
这似乎几乎是不可能的,我现在已经花了大约 9 个小时。如您所见,我尝试使用数据触发器来执行此操作,但它显然永远不会触发。我尝试了各种设置器,但要么无法使设置器成为有效标记,要么在列表视图显示时没有任何反应——例如,触发器显然被忽略了。
我究竟做错了什么?我进行了广泛的搜索,但似乎没有人想通过触发器解释单元格中的实际数据以另一种形式显示 - 将数字变成单词 - 每个人都想更改颜色、字体等 - 我不想更改样式,我想更改规则类型编号的单元格中的显示值...
如何在 XAML 列表视图中将单元格中的视觉显示值更改为同一单元格中的另一个显示值?我只想在视觉上将“1”解释为“App”,将“2”解释为“Dial”。