E/O come si definisce un DependencyProperty
sul mio controllo che separa AffectsMeasure
?Dov'è FrameworkPropertyMetadata in UWP?
MODIFICA: oh, ho appena visto questo - devo chiamare InvalidateMeasure
su this
nella proprietaria cambiata?
E/O come si definisce un DependencyProperty
sul mio controllo che separa AffectsMeasure
?Dov'è FrameworkPropertyMetadata in UWP?
MODIFICA: oh, ho appena visto questo - devo chiamare InvalidateMeasure
su this
nella proprietaria cambiata?
Siamo spiacenti. Per UWP AffectsMeasure non è supportato. Per Framework 3+ funziona. Per il binding UWP predefinito sto lavorando con la funzionalità CodeSnipped. Con l'eventhandling puoi agire in modo trasparente. Il risultato della mia codeSnippet per UWP simile a questa per il mio modello:
#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}}" />
di Windows 10, Negozio, VS 2017, Microsoft.NETCore.UniversalWindowsPlatform Versione 5.2.3
Non sono sicuro che tu abbia postato questa risposta alla domanda corretta ... hai letto oltre a _how definisco una DependencyProperty_? –
Siamo spiacenti. Per UWP AffectsMeasure non è supportato. Per Framework 3+ funziona. Basta sostituire 'FrameworkPropertyMetadata' con' PropertyMetadata' e utilizzare namespace 'namespace Windows.UI.Xaml' nel ViewModel. Come ho capito, ciò risolverà il tuo problema e risponderà alla tua domanda. – Nasenbaer
Bene, questa è la quantità di informazioni che ho inserito nella mia domanda. E no, la mia domanda non è risolta. Se leggi attentamente voglio una proprietà di dipendenza che attivi un nuovo passaggio di misurazione. Perché è quello che ha fatto InvalidateMeasure. Il tuo esempio attiva un nuovo passaggio di misura perché la rilegatura va a Visibilità. Prova "Tag" e dimmi che funziona. –