Im работает над пользовательским элементом управления WPF, который принимает элементы и скрывает/показывает их с помощью кнопки Toggle.Добавить 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>
Моя проблема сейчас это, что я нужно сделать высоту ContentPresenter равным 0, потому что я хочу, чтобы содержимое было скрыто в начале. Есть ли способ, которым я могу позволить пользователю моего элемента управления добавлять элементы посредством Drag and Drop во время его дизайна? Этот элемент управления должен полностью работать в XAML. Свойства, которые указаны в Code Behind, являются свойствами.
Благодарим за помощь.
Необходимо включить свойство AllowDrop и работать с событиями Drop/DropComplete, drop ... etc. –
Даже если я хочу разрешить пользователю удалять элементы из набора инструментов Visual Studio, мне нужно реализовать Drop Events? – Febertson
Да, в противном случае он не знает, как обращаться с тем, что вы отбрасываете ... Кроме того, вы можете изменить курсор для предметов, которые разрешено отбрасывать, а элементы не разрешены. –