我想根据图像的绑定值更改单元格内容。
这就是我对WPF应用程序所做的。
<DataGridTemplateColumn Header="Updated" Width="96" CanUserSort="True" SortMemberPath="Updated" HeaderStyle="{StaticResource CenterAlignmentColumnHeaderStyle}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Name="MyImage" Source="Assets/Loading.ico" MaxWidth="16" MaxHeight="16" Margin="4" VerticalAlignment="Center" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Updated, IsAsync=True}" Value="false">
<Setter TargetName="MyImage" Property="Source" Value="Assets/False.ico" />
</DataTrigger>
<DataTrigger Binding="{Binding Updated, IsAsync=True}" Value="true">
<Setter TargetName="MyImage" Property="Source" Value="Assets/True.ico" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
但似乎触发器并不存在于阿瓦隆尼亚。
<DataGridTemplateColumn Width="Auto"
SortMemberPath="Updated">
<DataGridTemplateColumn.Header>
<StackPanel>
<Label Content="Updated"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
Padding="20 0 0 0" />
</StackPanel>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Padding="0"
IsChecked="{Binding Updated^}"
HorizontalAlignment="Center"
IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
有没有办法模拟这个?
1条答案
按热度按时间anhgbhbe1#
我设法使用Avalonia的Binding Classes特性实现了类似的功能。
我已经从这个示例中删除了一些噪声,但本质上这添加了两个类,
IsUpdated
和NotUpdated
,并对每个类应用不同的样式: