我正在使用WPF自定義控件,該控件使用元素並使用切換按鈕隱藏/顯示它們。設計時將UI元素添加到自定義控件
要隱藏的元素應由設計時的控制用戶定義。
我控制的重要組成部分,是這樣的:
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>
我現在的問題是,我需要將ContentPresenter的高度設置爲0,因爲我希望將內容隱藏在開始位置。有沒有一種方法可以讓我的控件的用戶在設計時間內通過拖放添加元素? 該控件應該在XAML中完整地工作。在代碼隱藏中定義的唯一東西是屬性。
感謝您的幫助。
您需要啓用AllowDrop屬性並使用Drop/DropComplete,drop ...等事件。 –
即使我想允許用戶從Visual Studio工具包中刪除元素,我需要實現刪除事件? – Febertson
是的,否則它不知道如何處理你所拖放的任何東西......另外,你可能想要改變光標以允許拖放項目和不允許項目。 –