Я создал UserControl, который в основном представляет собой сетку, которая может иметь либо закругленные углы на каждом конце, либо определенный многоугольник. У меня есть свойство Rounded, которое меняет видимость округленной границы и полигона, чтобы соответствовать (если кто-то устанавливает Rounded = "True", то округленная граница видима, а многоугольник скрыт, и наоборот.
Так же, как в этом вопросе:
UserControl Dependency Свойство время разработки
... он отлично работает во время выполнения, но я не могу заставить его отражать изменения во время разработки. Однако перезапуск VS, очистка решения, перестройка, изменение цели сборки и т. Д. - ни один из этих шагов, похоже, не имеет значения.
Мой класс довольно прост:
public partial class MyBox : UserControl
{
public MyBox()
{
InitializeComponent();
}
public bool Rounded
{
get { return (bool)GetValue(RoundedProperty); }
set
{
SetValue(RoundedProperty, value);
this.edgeRounded.Visibility = (value ? Visibility.Visible : Visibility.Hidden);
this.edgePolygon.Visibility = (value ? Visibility.Hidden : Visibility.Visible);
}
}
public static readonly DependencyProperty RoundedProperty = DependencyProperty.Register("Rounded", typeof(bool), typeof(MyBox), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
}
Есть идеи?