如何以编程方式删除 ComboBox 下拉按钮?

How to remove the ComboBox Drop-Down button programmatically?

我想删除我动态创建的 ComboBox 上的下拉按钮,我在这里只能找到一个讨论这个问题的主题:WPF ComboBox without drop-down button,但它只有 XAML 解决方案。

我在逻辑上经历了每一个可能的步骤来重现逻辑访问树并自己找到了解决方案并愿意分享,因为在堆栈溢出时没有重复。

解决方法:

VB.Net:

    Dim myDouble As Double = 0
    Dim myStatic As ResourceKey = SystemParameters.VerticalScrollBarWidthKey
    myComboBox.Resources.Add(myStatic, myDouble)

C#:

{
    double myDouble = 0;
    ResourceKey myStatic = SystemParameters.VerticalScrollBarWidthKey;
    myComboBox.Resources.Add(myStatic, myDouble);
}

我分析的XAML代码:

<ComboBox xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <ComboBox.Resources>
        <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">0</sys:Double>
    </ComboBox.Resources>
    <ComboBoxItem>One</ComboBoxItem>
    <ComboBoxItem>Two</ComboBoxItem>
    <ComboBoxItem>Three</ComboBoxItem>
</ComboBox>

重现起来很简单,但是找到类型很麻烦。