У меня есть TextBox с прикрепленным к нему свойством, и Visual Studio выдает ошибку, в которой говорится, что значение свойства недопустимо, даже если оно действительно допустимо.
Вот текстовое поле:
<TextBox
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Width="Auto"
styleExtensions:TextBoxExtension.BorderStyle="None"/>
И это AttachedProperty:
public enum BorderStyle
{
Rounded,
BottomOnly,
None
}
public static DependencyProperty BorderStyleProperty =
DependencyProperty.RegisterAttached(
"BorderStyle",
typeof(BorderStyle),
typeof(TextBoxExtension));
Методы GetBorderStyle
и SetBorderStyle
также присутствуют, и, поскольку они не делают ничего особенного, я не вставил их сюда.
Когда я рутирую, программа работает, как и ожидалось, все три значения для BorderStyle
делают то, что они должны (они вызывают различные изменения в Style
), и даже визуальный редактор xaml показывает изменения, как и ожидалось , но по какой-то причине Visual Studio продолжает выдавать мне эту бессмысленную ошибку для этого конкретного TextBox:
'None' is not a valid value for property 'BorderStyle'
Ошибка сохраняется для всех трех значений перечисления. Это же присоединенное свойство также используется где-то еще в ControlTemplate, в другом TextBox, и оно не вызывает эту ошибку.
Я пытался очистить решение, перестроить его, удалить папки bin и obj, удалить папку .vs, но ошибка продолжает появляться.
Я что-то не так делаю или Visual Studio не так? И если да, то есть ли обходной путь для отключения этого конкретного сообщения об ошибке?
Я использую Visual Studio 2017 15.8.8 и .NET Framework 4.7.03056
РЕДАКТИРОВАТЬ: То же поведение можно наблюдать в новом предварительном просмотре VS в 2019 году. Я схожу с ума?