¿Cómo puedo agregar una propiedad "IsDirty" a una entidad LINQ to SQL?

Estoy vinculando a mis entidades a un formulario de edición en WPF. Dentro de un DataTemplate, quiero poder configurar el color de fondo del contenedor raíz dentro de un DataTemplate para mostrar que se ha cambiado y estos cambios aún no se han enviado a la base de datos.

Aquí hay una muestra muy simple que demuestra de lo que estoy hablando (perdonar errores):

<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>

El ejemplo simplemente imprime "¿Estoy sucio? Sí" o "¿Estoy sucio? No", pero entiendes la idea.

Para hacer esto, necesitaré agregar una propiedad pública a miít (clase parcial, simple)Eso puede determinar si la entidad está sucia o no.. Esta es la parte difícil.

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

Fuera de la entidad, es bastante simple (siempre que tenga laDataContext la entidad está adscrita a). Por dentro, no tanto.

¿Cuáles son mis opciones aquí?

Edición: no creo que haya una buena solución aquí, por lo que las sugerencias para las soluciones son bienvenidas.

(De acuerdo, existen preguntas similares, pero todas tratan sobre cómo determinar esto a partir defuera de de la propia entidad y utilizar elDataContext la entidad esta anexada a)

Respuestas a la pregunta(1)

Su respuesta a la pregunta