我有一个数据网格,在列的标题之一中,我希望有一个下拉列表来过滤网格中的数据。问题是具有将在此下拉列表中的值的datacontext位于usercontrol的viewmodel而不是datagrids itemssource中,因此列表似乎不可用于下拉列表。
<sdk:DataGridTemplateColumn.HeaderStyle>
<Style TargetType="sdk:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Assignee" />
<ComboBox x:Name="cboAttorneyHdr" ItemsSource="{Binding Path=Attorneys}"
Margin="3,0,0,0" SelectedItem="{Binding Path=SelectedAttorney, Mode=TwoWay}" />
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</sdk:DataGridTemplateColumn.HeaderStyle>
我找到了一个使用WPF相对源代码的例子似乎问了同样的事情,但似乎这对Silverlight不起作用。我已经尝试在后面的代码中手动设置它,但组合框似乎在那里可用!
答案 0 :(得分:0)
我发现围绕这个问题的一种方法是使用一些帮助程序作为详细的here - 它只是可能的实现之一,但它相当于使用AncestorLevel / AncestorType模拟WPF RelativeSourceBinding仍然不可用在SL4。或者你可以尝试谷歌'数据网格中的silverlight组合框'以获得更多解决方法,我相信你可以想象它是一个非常常见的问题:)
答案 1 :(得分:0)
我发现这个解决方案实际上最终工作得很好,虽然它会让我有点真正理解它到底在做什么。