Я связался с привязкой данных в пользовательском элементе управления
У меня есть некоторые свойства в моем пользовательском элементе управления.
public static DependencyProperty TitleProperty;
public static DependencyProperty PageDictionaryProperty;
public string Title
{
get
{
return (string)base.GetValue(TitleProperty);
}
set
{
base.SetValue(TitleProperty, value);
}
}
public Innax.ManualParts.PageDictionary PageDictionary
{
get
{
return (Innax.ManualParts.PageDictionary)base.GetValue(PageDictionaryProperty);
}
set
{
base.SetValue(PageDictionaryProperty, value);
}
}
Привязка к таблице не является проблемой.это прекрасно работает
, но теперь я хочу привязать к свойству ключевого слова в pageDictionary.
public class PageDictionary
{
//some other properties....
public List<string> Keywords
{
get
{
return GetKeyWords();
}
}
}
Это XAML-файл.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:InnaxBook" >
<Style x:Key="alternatingWithTriggers"
TargetType="{x:Type ContentPresenter}">
<Setter Property="Height" Value="25"></Setter>
</Style>
<DataTemplate x:Key="HelpTopicLineTemplate">
<Border x:Name="HelpTopicLine">
<StackPanel Orientation="Horizontal">
<Button Content="{Binding DictionaryName}" Width="25px" x:Name="btnGoto" ></Button>
</StackPanel>
</Border>
</DataTemplate>
<Style TargetType="{x:Type local:Manual}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Manual}" >
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Grid Height="Auto" Width="Auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="125" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions >
<Label x:Name="TitleControl" Content="{TemplateBinding Title }" Grid.ColumnSpan="2" Grid.Column="0" Grid.Row="0" Background="Aqua" ></Label>
<StackPanel x:Name="IndexContainer" Grid.Column="0" Grid.Row="1" Height="Auto" Width="Auto" Orientation="Vertical" ScrollViewer.CanContentScroll="True">
<Label Height="30" Margin="0,0,0,0" HorizontalAlignment="Left" Content="{TemplateBinding IndexLabelText}" />
<ListView HorizontalAlignment="Stretch">
<Button Height="Auto" HorizontalContentAlignment="Stretch" Content="knoppie" />
</ListView>
<ItemsControl ItemContainerStyle="{StaticResource alternatingWithTriggers}"
AlternationCount="2"
x:Name="RelatedItemsControl"
Grid.Row="1"
Grid.Column="0"
ItemsSource="{TemplateBinding PageDictionary}"
ItemTemplate="{StaticResource HelpTopicLineTemplate}">
</ItemsControl>
</StackPanel>
</Grid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
, если кто-нибудь можетпомоги мне с этим ...