在DataTemplate中绑定AutoCompleteBox

时间:2010-05-15 23:29:12

标签: binding

我在DataTemplate中定义了以下AutoCompleteBox:

<Window.Resources>
  <DataTemplate x:key="PaneTitleTemplate">
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
      </Grid.ColumnDefinition>
      <ContentPresenter Content="{Binding}" />
      <toolkit:AutoCompleteBox x:Name="InsertBox" ItemsSource="{???}" />
    </Grid>
  </DataTemplate>
</Window.Resources>
...
<radRock:RadPane x:Name="pane1" TitleTemplate="{StaticResource PaneTitleTemplate}"/>

现在我想用字符串列表填充它,但我不知道应该使用哪个Binding。字符串列表是Window中的实例变量。我该怎么办?

1 个答案:

答案 0 :(得分:1)

部分问题是您的DataContext是什么。如果是Window本身或者是其他对象。如果是Window,则不需要在绑定中指定它,如果是其他对象,则必须指定使用Window作为绑定源。我认为您想要的结果如下(如果Window是DataContext,您可以删除ElementName):

ItemsSource="{Binding StringListName, ElementName=WindowName}"

显然,将StringListName和WindowName替换为它们在窗口中实际具有的名称。