Wpf 如何将颜色绑定到我的XAML中

Wpf 如何将颜色绑定到我的XAML中,wpf,listview,datagridviewcolumn,Wpf,Listview,Datagridviewcolumn,我有这个视图模型: public class MyData { public string Status; public StatusMsg StatusMessage; private Brush _statusBrushes; public Brush StatusBrushes { get { switch (StatusMessage) {

我有这个视图模型:

public class MyData
{
    public string Status;
    public StatusMsg StatusMessage;
    private Brush _statusBrushes;

    public Brush StatusBrushes
    {
        get
        {
            switch (StatusMessage)
            {
                case StatusMsg.Cancel:
                    return Brushes.Red;

                case StatusMsg.InProcess:
                    return Brushes.Blue;

                case StatusMsg.Done:
                    return Brushes.Green;

                default:
                    return Brushes.Green;
            }
        }
        set { _statusBrushes = value; }
    }

    public enum StatusMsg
    {
        Cancel,
        Done,
        InProcess,            
    }
}
现在我有了这个
GridViewColumn

<GridViewColumn Width="180" Header="Status">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <TextBlock x:Name="Txt" Text="{Binding Status}" Foreground="Yellow" />
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>


如您所见,这个
GridViewColumn
颜色为黄色,我想根据我的
StatusMsg
(我的枚举)更改它因此,我的问题是如何将我的颜色绑定到我的
XAML

我建议创建一个能够将枚举值转换为适当颜色的绑定,然后您的绑定看起来像:

<GridViewColumn Width="180" Header="Status">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <TextBlock x:Name="Txt" Text="{Binding Status}" 
              Foreground="{Binding Path=StatusColor, Converter={StaticResource MyStatusColorConverter}" />
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>


当然,您还需要创建资源,这里有一个快速搜索bing的教程:

我们这里缺少很多代码。
状态
属性位于何处?您可以发布视图模型和模型代码吗?