エンティティを WPF の編集フォームにバインドしています。DataTemplate 内で、DataTemplate 内のルート コンテナーの背景色を設定して、変更され、これらの変更がまだデータベースに送信されていないことを示したいと考えています。
これは、私が話していることを示す非常に単純なサンプルです (エラーを許してください)。
<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>
この例では、「私は汚れていますか? はい」または「私は汚れていますか? いいえ」と出力されるだけですが、その考えは理解できます。
これを行うには、エンティティがダーティかどうかを判断できるパブリック プロパティをItem (部分クラス、シンプル)に追加する必要があります。これは難しいビットです。
public partial class Item
{
    public bool IsDirty
    {
        get
        {
            throw new NotImplementedException("hurf durf");
        }
    }
}
エンティティの外では、非常に単純です (エンティティが接続されているDataContextがある限り)。内部では、それほどではありません。
ここでのオプションは何ですか?
編集: ここに 1 つの良い解決策があるとは思わないので、回避策の提案を歓迎します。
(同様の質問がありますが、それらはすべて、エンティティ自体の外部からこれを判断し、エンティティが接続されているDataContextを使用する方法に関するものです。)