DesignModeValueProvider.TranslatePropertyValue - метод (PropertyIdentifier, Object)
Обновлен: Ноябрь 2007
Фиксация изменений свойств, внесенных пользователем в конструкторе, и использование пользовательской логики для предоставления новых значений во время разработки.
Пространство имен: Microsoft.Windows.Design.Model
Сборка: Microsoft.Windows.Design.Extensibility (в Microsoft.Windows.Design.Extensibility.dll)
Синтаксис
'Декларация
Public Overridable Function TranslatePropertyValue ( _
identifier As PropertyIdentifier, _
value As Object _
) As Object
'Применение
Dim instance As DesignModeValueProvider
Dim identifier As PropertyIdentifier
Dim value As Object
Dim returnValue As Object
returnValue = instance.TranslatePropertyValue(identifier, _
value)
public virtual Object TranslatePropertyValue(
PropertyIdentifier identifier,
Object value
)
public:
virtual Object^ TranslatePropertyValue(
PropertyIdentifier^ identifier,
Object^ value
)
public function TranslatePropertyValue(
identifier : PropertyIdentifier,
value : Object
) : Object
Параметры
- identifier
Тип: Microsoft.Windows.Design.Model.PropertyIdentifier
Свойство, значение которого изменяется пользователем.
- value
Тип: System.Object
Новое значение, присваиваемое свойству пользователем.
Возвращаемое значение
Тип: System.Object
Значение свойства, установленное в конструкторе.
Исключения
Исключение | Условие |
---|---|
ArgumentNullException | Параметр identifier имеет значение nullссылка null (Nothing в Visual Basic). |
Заметки
Метод TranslatePropertyValue вызывается один раз для каждого свойства в свойстве Properties. Возвращаемое значение может быть новым или совпадать со значением, которое было передано в метод.
Эти изменения затрагивают только конструктор. Во время выполнения, свойства отображаются со значениями, заданными пользователем.
Важное примечание. |
---|
При использовании этого способа поведение свойства в конструкторе не соответствует значению свойства в представлении XAML. Представление XAML отображает значение, введенное пользователем во время разработки. Значение в представлении XAML представляет поведение, которое свойство будет проявлять во время выполнения. |
Примеры
В следующем примере показано переопределение метода TranslatePropertyValue. Свойство Content объекта Button изменяется таким образом, чтобы в конструкторе отображался верхний регистр. Также изменяется свойство Background объекта Button таким образом, чтобы в конструкторе он отображался со стандартным системным цветом. Эти изменения затрагивают только конструктор. Во время выполнения свойства Content и Background отображаются со значениями, заданными пользователем. Данный пример кода является частью большого примера, приведенного в описании класса DesignModeValueProvider.
Дополнительные сведения см. в разделе Пошаговое руководство. Изменение поведения свойства во время разработки.
Public Overrides Function TranslatePropertyValue(ByVal identifier As PropertyIdentifier, ByVal value As Object) As Object
If identifier.DependencyProperty Is Button.ContentProperty Then
Return value.ToString().ToUpper()
End If
If identifier.DependencyProperty Is Button.BackgroundProperty Then
Return New SolidColorBrush(SystemColors.ControlColor)
End If
Return MyBase.TranslatePropertyValue(identifier, value)
End Function
public override object TranslatePropertyValue(PropertyIdentifier identifier, object value)
{
if (identifier.DependencyProperty == Button.ContentProperty)
{
return ((string)value).ToUpper();
}
if (identifier.DependencyProperty == Button.BackgroundProperty)
{
return new SolidColorBrush(SystemColors.ControlColor);
}
return base.TranslatePropertyValue(identifier, value);
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
DesignModeValueProvider - члены
TranslatePropertyValue - перегрузка
Microsoft.Windows.Design.Model - пространство имен
Другие ресурсы
Практическое руководство. Изменение поведения свойства во время разработки
Архитектура расширяемости конструктора WPF