Я думаю, что можно просто добавить что условие с or
:
Helper_IsName? = Text.Contains([OldValue]," ") or [OldValue] = "University"
Хорошо, я разобрался. Обычно я бы просто удалил этот вопрос, но было сложно найти какую-либо информацию о том, как это исправить.
Проблема заключалась в вызове, который выглядел так:
ImageBrush theBrush = new ImageBrush(new Bitmap(new Uri(...)));
if (labelStatus.Dispatcher.Thread == System.Threading.Thread.CurrentThread) {
button.background = theBrush;
}
else {
labelStatus.Dispatcher.BeginInvoke((System.Threading.ThreadStart)(delegate {
button.background = theBrush;
}));
}
Но! если вы это сделаете, диспетчер сработает, а затем попытается удалить кисть, но сама кисть, очевидно, также удаляется в другом месте.
Итак, главный урок заключается в том, что если вы объявляете ImageBrush, затем удалите его в том же потоке, например:
void MyFunc(){
ImageBrush theBrush = new ImageBrush(new Bitmap(new Uri(...)));
button.background = theBrush;
}
if (labelStatus.Dispatcher.Thread == System.Threading.Thread.CurrentThread) {
MyFunc();
}
else {
labelStatus.Dispatcher.BeginInvoke((System.Threading.ThreadStart)(delegate {
MyFunc();
}));
}