0

InlineUIContainerが で削除されたときに通知を受け取る方法はありRichTextBoxますか? 現在Unload、タブを切り替えるときにイベントも呼び出されるため、イベントを使用しています。

私のコード:

の作成InlineUIContainer:

InlineUIContainer container = new InlineUIContainer(presenter) { BaselineAlignment = BaselineAlignment.TextBottom };
container.Tag = new TagTextBoxObject(Id, InputText);
container.Unloaded += presenter_Unloaded;

タブの切り替え時に発生してはならないイベント:

void presenter_Unloaded(object sender, RoutedEventArgs e)
{
    Dispatcher.Invoke(
        (Action)delegate()
        {
            TagTextBoxObject item = (TagTextBoxObject)(sender as InlineUIContainer).Tag;

            if (newItems.ContainsKey(item.Id))
            {
                newItems.Remove(item.Id);
            }

            if (!deletedItems.ContainsKey(item.Id))
            {
                deletedItems.Add(item.Id, item.Text);
            }
        });
}
4

2 に答える 2