Como posso adicionar uma propriedade "IsDirty" a uma entidade LINQ to SQL?

Eu estou vinculando minhas entidades a um formulário de edição no WPF. Em um DataTemplate, desejo definir a cor do plano de fundo do contêiner raiz em um DataTemplate para mostrar que ele foi alterado e essas alterações ainda não foram enviadas ao banco de dados.

Aqui está um exemplo muito simples que demonstra o que estou falando (perdoe erros):

<Page ...>
    <Page.DataContext>
        <vm:MyPageViewModel /> <!-- Holds reference to the DataContext -->
    </Page.DataContext>
    <ItemsControl
        ItemsSource = {Binding Items}>
        <ItemsControl.Resources>
            <DataTemplate
                DataType="Lol.Models.Item"> <!-- Item is L2S entity -->
                <!-- In real life, I use styles to set the background color -->
                <TextBlock Text="{Binding IsDirty, StringFormat='Am I dirty? /{0/}'}"/>
            </DataTemplate>
        </ItemsControl.Resources>
    </ItemsControl>
</Page>

O exemplo apenas mostra "Estou sujo? Sim" ou "Estou sujo? Não", mas você entendeu.

Para fazer isso, preciso adicionar uma propriedade pública ao meuItem (classe parcial, simples)que pode determinar se a entidade está suja ou não. Essa é a parte difícil.

public partial class Item
{
    public bool IsDirty
    {
        get
        {
            throw new NotImplementedException("hurf durf");
        }
    }
}

Fora da entidade, é bem simples (contanto que você tenha oDataContext a entidade está anexada a). Por dentro, não tanto.

Quais são minhas opções aqui?

Edit: Eu não acho que há uma boa solução aqui, então sugestões para soluções alternativas são bem-vindas.

(Ok, existem questões semelhantes, mas elas são sobre como determinar issolado de fora da própria entidade e usar oDataContext a entidade está ligada a.)

questionAnswers(1)

yourAnswerToTheQuestion