如果只有一个项目,如何隐藏组合框切换按钮?

Rel*_*ity 8 wpf xaml combobox visibility togglebutton

我有一个WPF应用程序.在一个窗口中有一个组合框..如果只有一个项目,我想隐藏切换按钮并禁用组合框.

我怎么做到这一点?

我已经尝试了以下代码来隐藏切换按钮.但没有运气

任何帮助,将不胜感激.谢谢

<ComboBox x:Name="CList" ItemsSource="{Binding Path=C}"  >                    
    <Style TargetType="{x:Type ToggleButton}" >
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=Items.Count, ElementName=CList}" Value="1">
                <Setter Property="Visibility" Value="Hidden" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

Rel*_*ity 9

更好的解决方案是在项目计数为零时用控件模板(仅包含文本块)替换组合框的模板.

这是同样的xaml.

<ComboBox Name="CList" ItemsSource="{Binding Path=C}" 
                     SelectedItem="{Binding Path=CC}" VerticalAlignment="Center" Margin="0,0,10,0" >
                    <ComboBox.Style>
                        <Style TargetType="{x:Type ComboBox}" >
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=Items.Count, ElementName=CList}" Value="1">
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate>
                                                <TextBlock Text="{Binding Items[0], ElementName=CList}" />
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </ComboBox.Style>
                </ComboBox>
Run Code Online (Sandbox Code Playgroud)