Любой, пожалуйста, попробуйте этот сценарий и поделитесь идеей, чтобы решить проблему, с которой сталкивается.свойство пытается получить доступ к значению из System.Windows.FrameworkElement
Сценарий:
В моем классе (унаследованном от Control) только я объявил свойство FlowDirection, которое является типом BulletGraphFlowDirection (Enum (вперед, назад)).
Я использовал новое ключевое слово для FlowDirection для разрешения предупреждения, которое я получаю.
Warning 'DirectionSfBulletGraph1.MyClass.FlowDirection' скрывает унаследованный элемент 'System.Windows.FrameworkElement.FlowDirection'. Используйте новое ключевое слово, если было предназначено скрытие.
public enum BulletGraphFlowDirection
{
Forward,
Backward
}
public class MyClass : Control
{
public new BulletGraphFlowDirection FlowDirection
{
get { return (BulletGraphFlowDirection)GetValue(FlowDirectionProperty); }
set { SetValue(FlowDirectionProperty, value); }
}
// Using a DependencyProperty as the backing store for FlowDirection. This enables animation, styling, binding, etc...
public new static readonly DependencyProperty FlowDirectionProperty =
DependencyProperty.Register("FlowDirection", typeof(BulletGraphFlowDirection), typeof(MyClass), new PropertyMetadata(BulletGraphFlowDirection.Backward));
}
Издание:
Когда я пытаюсь установить значение FlowDirection недвижимости в Xaml странице это просто выброшены сообщение об ошибке»Обратное не является допустимым значением для FlowDirection».
<local:MyClass x:Name="myClass" FlowDirection="Backward"/>
Мое предположение - свойство FlowDirection пытается получить доступ к значению из System.Windows.FrameworkElement. FlowDirection '(Enum (LeftToRight, RightToLeft))
Не получается получить ошибку, когда значение свойства задано с помощью кода позади.
myClass.FlowDirection = BulletGraphFlowDirection.Backward;
Почему возникает проблема при объявлении со страницы Xaml. Очень сложно найти причину этого. Пожалуйста, поделитесь мной идеей, чтобы решить.
С уважением,
Jeyasri M
Почему бы просто не назвать свойство чем-то еще? Например, BulletFlowDirection – Karmacon
Спасибо за ваш ответ.Но я сомневаюсь, когда свойство задано в коде за свойством FlowDirection, доступ к значению из его производного класса, а не из базы (Control), если проблема заключается в использовании нового ключевого слова в DP, тогда сценарий не должен работать, когда он установлен в коде позади .Если я использовал новое ключевое слово, то свойство FlowDirection не унаследовано от базового класса (Control), но все же оно пытается получить доступ к значению свойства базового класса только из объявления XAML, а не из кода позади. –
FYI. Я пробовал один и тот же сценарий в проекте WinRT, потому что не имею проблем. Но не знаю причины проблемы с платформой WPF. –