我有一个 WPF 应用程序,其中包含一个由一列按钮组成的 Datagrid。相应的 XAML 代码如下。
<DataGridTemplateColumn Header="Closed" Width="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button>
<Button.Content>
<Image>
<Image.Source>
<MultiBinding Converter="{StaticResource ImageConverter}"
ConverterParameter="Closed">
<Binding Path="IsClosed"/>
<Binding Path="DataContext.TickImage" RelativeSource="{RelativeSource AncestorType={x:Type UserControl}}"/>
<Binding Path="DataContext.CrossImage" RelativeSource="{RelativeSource AncestorType={x:Type UserControl}}"/>
</MultiBinding>
</Image.Source>
</Image>
</Button.Content>
<Button.Command>
<Binding Path="DataContext.ClosedClicked" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}"/>
</Button.Command>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
TickImage
和CrossImage
是基于 的值选择的图像源IsClosed
。现在在 ViewModel 中,我需要编写一个代码来在单击按钮时切换图像(黑白TickImage
和)。CrossImage
换句话说,我需要一种同时将 Button 与一个ICommand
和一个BitmapImage
变量绑定的方法。
请帮忙!!