private static void OnPinnedStatusChanged(IPinnable item) { if (PinnedStatusChanged != null) { PinnedStatusChanged(item, new PinnedItemEventArgs(item)); } }
/// <summary> /// Frees the pinned handle and releases IPinnable. /// </summary> public void Dispose() { if (_pinnable != null) { _pinnable.Unpin(); _pinnable = null; } _pointer = null; }
public static unsafe void PinnablePointer() { Pointer <int> ptr = stackalloc int[1]; ptr.Value = 42; IPinnable pinnable = ptr; using var handle = pinnable.Pin(0); Equal(42, ((int *)handle.Pointer)[0]); pinnable.Unpin(); }
/// <summary> /// Frees the pinned handle and releases IPinnable. /// </summary> public void Dispose() { if (_handle.IsAllocated) { _handle.Free(); } if (_pinnable != null) { _pinnable.Unpin(); _pinnable = null; } _pointer = null; }
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == RadElement.AngleTransformProperty || e.Property == TabStripItem.CloseButtonOffsetProperty || e.Property == RadItem.TextOrientationProperty) { this.UpdateTabButtoms(this.TabStrip); } if (e.Property == RadPageViewItem.IsPinnedProperty && this.tabPanel is IPinnable) { IPinnable tabPanel = (IPinnable)this.tabPanel; tabPanel.IsPinnedChanged -= new EventHandler(this.IPinnable_IsPinnedChanged); tabPanel.IsPinned = this.IsPinned; tabPanel.IsPinnedChanged += new EventHandler(this.IPinnable_IsPinnedChanged); } if (e.Property != RadItem.TextProperty || !this.IsInValidState(true) || this.Owner == null) { return; } this.Owner.InvalidateMeasure(true); }
public PinnedItemEventArgs(IPinnable item) { Item = item; }
public static void NotifyObservers(IPinnable item) { OnPinnedStatusChanged(item); }
public MemoryHandle(void *pointer, IPinnable pinnable = default) { _pointer = pointer; _pinnable = pinnable; }
public DisposePin(IPinnable h) { h.IncreasePins(); _handle = h; }
private static void OnPinnedStatusChanged(IPinnable item) { if (PinnedStatusChanged != null) PinnedStatusChanged(item, new PinnedItemEventArgs(item)); }