ウェブ上で画像をポップアップ表示するのと同じように、背景が暗くなるwpfでオーバーレイを作成しようとしています。 私は、アプリケーションの1つ以上の部分で、異なる種類のコンテンツで再利用できるようにしたいと考えています。Wpf Adornerがインタラクションに反応しない
これは(もちろん)クラスのほかadornerクラスのコンストラクタの一時的なコード(ちょうどしようとする)
private readonly Grid _grid = new Grid();
public DarkOverlayAdorner(UIElement adornedElement, Object content) :
base(adornedElement)
{
_grid.Background = new SolidColorBrush(Color.FromArgb(99, 0, 0, 0));
IsHitTestVisible = true;
var visual = content as UIElement;
if (visual != null)
_grid.Children.Add(visual);
}
ですが、私はadornerを与えることMeasureOverrideとArrangeOverrideのovverridesを持っています装飾された要素の正しいサイズ、GetVisualChild、およびVisualChildCount ...
アドラーが正しく表示されますが、装飾された要素にイベントや動作が適用されないという問題があります。例:
AdornerLayer layer = AdornerLayer.GetAdornerLayer(textBoxProva);
layer.Add(new DarkOverlayAdorner(textBoxProva, new Button{Content = "prova"}));
ボタンはここに表示されますが、ボタンをクリックすることはできません。ボタンのマウスオーバーには何の効果も適用されません。 私はまだ問題を把握することができません。
ありがとうございました、これはおそらくより良い解決策(そして無料)でしたが、その間に私は自分の問題が何かを理解することを好みました – nemenos