Я установил пользовательский элемент управления в SL, и я пытаюсь заставить внешний вид элемента управления по умолчанию работать правильно.Я чувствую (с помощью некоторых умных людей здесь), что я довольно близок к тому, чтобы получить это, но я все еще не совсем там.
Когда мой элемент управления впервые добавляется на панель в Blend, он обнаруживается, как я и ожидал, основываясь на шаблоне, и когда я изменяю свойства зависимостей, которые я раскрыл, они также работают нормально.Проблема, с которой я сталкиваюсь сейчас, заключается в том, что при внесении изменений в Blend и последующем «сбросе» этого значения с помощью поля параметров оно сбрасывает свойство в области «Разное», но фактически не меняет сам элемент управления в представлении разработки, еслиЯ строю проект снова.
Вот код, который у меня сейчас есть:
public enum SolidGlossTypes
{
Normal,
Header,
Footer,
None
}
public SolidGlossTypes SolidGlossType
{
get
{
return (SolidGlossTypes)GetValue(SolidGlossTypeProperty);
}
set
{
SetValue(SolidGlossTypeProperty, value);
switch (value)
{
case SolidGlossTypes.Header:
SolidGloss_Upper.Visibility = Visibility.Visible;
SolidGloss_Lower.Visibility = Visibility.Collapsed;
break;
case SolidGlossTypes.Footer:
SolidGloss_Upper.Visibility = Visibility.Collapsed;
SolidGloss_Lower.Visibility = Visibility.Visible;
break;
case SolidGlossTypes.None:
SolidGloss_Upper.Visibility = Visibility.Collapsed;
SolidGloss_Lower.Visibility = Visibility.Collapsed;
break;
default:
SolidGloss_Upper.Visibility = Visibility.Visible;
SolidGloss_Lower.Visibility = Visibility.Visible;
break;
}
}
}
public static readonly DependencyProperty SolidGlossTypeProperty = DependencyProperty.Register("SolidGlossType", typeof(SolidGlossTypes), typeof(SolidGloss), new PropertyMetadata(SolidGlossTypes.Normal));
Я пытался возиться с обратным вызовом свойства, измененным, но не смог добиться успеха.
Кроме того, возможно ли установить значения по умолчанию для свойства зависимости для стиля в generic.xaml, а затем связать его со стилем из шаблона?
Заранее спасибо,
E