![](/img/trans.png)
[英]How to change a DependencyProperty value from another one in UWP, FrameworkPropertyMetadata not being available
[英]Where's FrameworkPropertyMetadata in UWP?
和/或如何在我的控件上定义一个DependencyProperty
来分离AffectsMeasure
?
编辑:哦,刚看到这一点-我必须呼吁InvalidateMeasure
在this
的propertychangedhandler?
抱歉。 对于UWP,不支持AffectsMeasure 。 对于Framework 3+,它可以工作。 对于默认的UWP绑定,我正在使用CodeSnipped功能。 通过事件处理,您可以采取透明行动。 对于我的模型,我的UWP codeSnippet的结果如下所示:
#region IsSelected
public static readonly DependencyProperty IsSelectedProperty =
DependencyProperty.Register("IsSelected", typeof(bool), typeof(PositionModel),
new PropertyMetadata((bool)false,
new PropertyChangedCallback(OnIsSelectedChanged)));
public bool IsSelected
{
get { return (bool)GetValue(IsSelectedProperty); }
set { SetValue(IsSelectedProperty, value); }
}
private static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
PositionModel target = (PositionModel)d;
bool oldIsSelected = (bool)e.OldValue;
bool newIsSelected = target.IsSelected;
target.OnIsSelectedChanged(oldIsSelected, newIsSelected);
}
protected virtual void OnIsSelectedChanged(bool oldIsSelected, bool newIsSelected)
{
// Do what your need in your property changed event
// In my case, I just raise the PropertyChanged for PropertyChangedEventHandler
// RaisePropertyChanged(nameof(IsSelected));
}
#endregion
XAML:
<Rectangle Fill="Black" Visibility="{x:Bind IsSelected, Mode=OneWay, Converter={StaticResource BoolToVis}}" />
Windows 10,Store,VS 2017,Microsoft.NETCore.UniversalWindowsPlatform版本5.2.3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.