要素を受け取り、トグルボタンで表示/非表示するWPFカスタムコントロールを操作しています。デザイン時にUIElementsをカスタムコントロールに追加
隠す要素は、デザイン時にコントロールのユーザーによって定義される必要があります。
私のコントロールの重要な部分は、次のようになります。
MyCustomControl.cs
...
public UIElement InnerContent
{
get { return (UIElement)GetValue(InnerContentProperty); }
set { SetValue(InnerContentProperty, value); }
}
public static readonly DependencyProperty InnerContentProperty =
DependencyProperty.Register("InnerContent", typeof(UIElement), typeof(MyCustomControl));
...
そして、このように対応するのContentPresenter:
<ContentPresenter Height="0"
x:Name="ToggleRegion"
Content="{Binding Path=InnerContent, RelativeSource={RelativeSource AncestorType=local:MyCustomControl}}">
</ContentPresenter>
私の問題は今、それは、そのIコンテンツを開始時に非表示にしたいので、ContentPresenterの高さを0にする必要があります。自分のコントロールのユーザーがデザイン時にドラッグアンドドロップで要素を追加できるようにする方法はありますか? このコントロールはXAMLで完全に機能するはずです。コードビハインドで定義されているのは、プロパティだけです。
ありがとうございました。
AllowDropプロパティを有効にして、Drop/DropComplete、drop ...などのイベントから作業する必要があります。 –
私はVisual Studioツールキットから要素をドロップするユーザーを許可したい場合でも、ドロップイベントを実装する必要がありますか? – Febertson
はい、それ以外の場合は、あなたが落としたものをどのように処理するかはわかりません...さらに、ドロップできるアイテムと許可されていないアイテムのカーソルを変更することができます。 –