FrameworkPropertyMetadata.AffectsRender FrameworkPropertyMetadata.AffectsRender FrameworkPropertyMetadata.AffectsRender FrameworkPropertyMetadata.AffectsRender Property

Определение

Получает или задает значение, указывающее, может ли свойство зависимостей влиять на общий макет таким способом, который не оказывает специального воздействия на расположение или размеры, но требует перерисовку.Gets or sets a value that indicates whether a dependency property potentially affects the general layout in some way that does not specifically influence arrangement or measurement, but would require a redraw.

public:
 property bool AffectsRender { bool get(); void set(bool value); };
public bool AffectsRender { get; set; }
member this.AffectsRender : bool with get, set
Public Property AffectsRender As Boolean

Значение свойства

Значение true, если свойство зависимостей, в котором существуют эти метаданные, влияет на отрисовку; в противном случае — значение false.true if the dependency property on which this metadata exists affects rendering; otherwise, false. Значение по умолчанию — false.The default is false.

Исключения

Метаданные уже применены к операции свойства зависимостей. Поэтому метаданные запечатаны, а их свойства нельзя задать.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Примеры

Следующий пример получает метаданные по умолчанию из различных зависимостей поля свойств, значения различных FrameworkPropertyMetadata свойства и использует эти сведения для заполнения таблицы и реализации «обозревателя метаданных».The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}         
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
	AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
	AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
	AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
              [Inherits].Text = If((fpm.Inherits), "Yes", "No")
	IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
	BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Комментарии

FrameworkElement и FrameworkContentElement включает реализацию OnPropertyChanged , отслеживает изменения действующего значения ко всем свойствам зависимостей, существующих в элементе.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Как часть этой логики, значение свойства зависимостей, которые изменяют вступают в силу и иметь метаданные с AffectsRender значение true будет инициировать запрос отложенного недействительным визуальные элементы для этого элемента.As part of that logic, dependency properties that change effective value and have metadata with AffectsRender set to true will initiate a deferred request to invalidate the visuals for that element. Поскольку эта реализация уровня инфраструктуры WPF уже находится в месте, обычно не нужно искать свойств зависимостей с помощью AffectsRender Если значительно замены или изменения поведения макетов уровня среды WPF.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsRender unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Custom OnPropertyChanged выбрать реализаций аналогичное поведение для изменения свойств зависимостей где AffectsRender является true.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsRender is true.

Свойства для какого-либо классы, унаследованные от PropertyMetadata обычно определяются в модели объектов чтения и записи.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. Это, поэтому их можно изменить после инициализации экземпляра.This is so they can be adjusted after initialization of the instance. Однако после метаданных используется как часть вызова Register, AddOwner, или OverrideMetadata, система свойств будет запечатать этот экземпляр метаданных и свойств, которые передают особенности метаданные теперь считаются неизменяемыми.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Попытка задать это свойство после IsSealed является true на эти метаданные экземпляра будет выдано исключение.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Использование текста XAMLXAML Text Usage

Члены этого класса обычно не используются в XAMLXAML.Members of this class are not typically used in XAMLXAML.

Применяется к

Дополнительно