Wpf DataTemplate触发器无法访问包含的网格资源(CollectionViewSource)

Wpf DataTemplate触发器无法访问包含的网格资源(CollectionViewSource),wpf,xaml,triggers,grid,datatemplate,Wpf,Xaml,Triggers,Grid,Datatemplate,我有下面的DataTemplate,我正在尝试基于绑定字段父项设置ComboBox的ItemsSource属性 我在DataTemplate.Triggers中有触发器,但是这无法在Grid.resources中看到CollectionViewSources 如果我尝试将触发器放在Grid.triggers中,则无法看到控件本身 如果我将CollectionViewSources放在DataTemplate.Resources中,那么它就无法在后面的代码中找到集合,因为我认为DataTempla

我有下面的DataTemplate,我正在尝试基于绑定字段父项设置ComboBox的ItemsSource属性

我在DataTemplate.Triggers中有触发器,但是这无法在Grid.resources中看到CollectionViewSources

如果我尝试将触发器放在Grid.triggers中,则无法看到控件本身

如果我将CollectionViewSources放在DataTemplate.Resources中,那么它就无法在后面的代码中找到集合,因为我认为DataTemplate不是树的一部分,因为网格是

救命啊! 谢谢 安迪

找到了答案

            <ComboBox x:Name="cboChildAccount" Grid.Column="1" SelectedValue="{Binding Path=accFrom, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="ID" ItemTemplate="{StaticResource AccountTemplate}" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" IsTextSearchEnabled="True" TextSearch.TextPath="comment" IsSynchronizedWithCurrentItem="False" SelectionChanged="cboChangedC">
                <ComboBox.GroupStyle>
                    <GroupStyle ContainerStyle="{StaticResource CustomExpanderComboGroupItemStyle}" HeaderTemplate="{StaticResource GroupHeader}"/>
                </ComboBox.GroupStyle>
                <ComboBox.Style>
                    <Style TargetType="ComboBox" BasedOn="{StaticResource RoundedComboBox}">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path=parent, Converter={StaticResource IsNullConverter}}" Value="True">
                                <Setter Property="ItemsSource" Value="{Binding Source={StaticResource RealData}}"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Path=parent, Converter={StaticResource IsNullConverter}}" Value="False">
                                <Setter Property="ItemsSource" Value="{Binding Source={StaticResource VirtualData}}"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ComboBox.Style>
            </ComboBox>
并从DataTemplate.Triggers部分删除触发器

安迪

            <ComboBox x:Name="cboChildAccount" Grid.Column="1" SelectedValue="{Binding Path=accFrom, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="ID" ItemTemplate="{StaticResource AccountTemplate}" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" IsTextSearchEnabled="True" TextSearch.TextPath="comment" IsSynchronizedWithCurrentItem="False" SelectionChanged="cboChangedC">
                <ComboBox.GroupStyle>
                    <GroupStyle ContainerStyle="{StaticResource CustomExpanderComboGroupItemStyle}" HeaderTemplate="{StaticResource GroupHeader}"/>
                </ComboBox.GroupStyle>
                <ComboBox.Style>
                    <Style TargetType="ComboBox" BasedOn="{StaticResource RoundedComboBox}">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path=parent, Converter={StaticResource IsNullConverter}}" Value="True">
                                <Setter Property="ItemsSource" Value="{Binding Source={StaticResource RealData}}"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Path=parent, Converter={StaticResource IsNullConverter}}" Value="False">
                                <Setter Property="ItemsSource" Value="{Binding Source={StaticResource VirtualData}}"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ComboBox.Style>
            </ComboBox>