单个控件是否可以有多个 ItemSource?
给出以下代码:
<ComboBox Margin="137,101,169,183" ItemsSource="{Binding collection}" SnapsToDevicePixels="True"
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Command="{Binding CheckCommand}" IsChecked="{Binding IsChecked}" Content="{Binding Name}"/>
<TextBlock Text="" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
ComboBox DataTemplate 中的 TextBlock 需要来自 VM 中除 ComboBox 之外的另一个属性的数据。如何实现这一目标?
谢谢。
最佳答案
您可以使用RelativeSource -FindAncestor 到达可视化树并获取不同的 DataContext。
例如(假设该命令是您想要的):
Command=”{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}, Path=CheckCommand}”
This也应该作为一个很好的资源。
编辑:拼写错误和资源。
关于c# - WPF 多个 ItemSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6296634/