Я довольно новичок в WPF и немного застрял, поэтому любая помощь будет признательна.
Я пытаюсь написать пользовательский элемент управления WPF, который включает в себя несколько элементов функциональности, которые у меня уже есть (например, сортировка, фильтрация, стандартные меню и т. Д.), Но в хорошем аккуратном пакете, чтобы избежать повторения.
В любом случае я создал пользовательский элемент управления (на основе элемента управления), а затем в Generic.Xaml
следующее
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Controls.ListViewExtended">
<Style TargetType="{x:Type local:ListViewExtended}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:ListViewExtended}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ListView>
<ListView.View>
<GridView>
<!-- Content goes here -->
</GridView>
</ListView.View>
</ListView>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
Когда я пытаюсь добавить GridViewColumns (или любой другой элемент управления), как показано ниже ...
<elv:ListViewExtended>
<GridView>
<GridViewColumn Width="140" Header="Column 1" />
<GridViewColumn Width="140" Header="Column 2" />
<GridViewColumn Width="140" Header="Column 3" />
</GridView>
</elv:ListViewExtended>
Я получаю "... не поддерживает прямой контент" ошибка.
Я создал свойство зависимости (снова ниже), которое позволяет добавлять GridView, но оно по-прежнему не работает.
public static DependencyProperty GridViewProperty;
public static string GridViewHeader(DependencyObject target)
{
return (string)target.GetValue(GridViewProperty);
}
public static void GridViewHeader(DependencyObject target, string value)
{
target.SetValue(GridViewProperty, value);
}
Заранее спасибо