wpf以编程方式更改ComboBox边框宽度

时间:2017-05-13 04:44:36

标签: c# wpf

如何以编程方式更改组合框的边框宽度。

我试过了: combobox.BorderWidth = ...

但它无效

伊兰

我从你的答案中找到了以下解决方案:

<Window.Resources>
    <Style x:Key="ComboBoxStyleKey" x:Name="ComboBoxStyle" TargetType="{x:Type ComboBox}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ComboBox}">
                    <Grid>
                        <Border x:Name="ContentPresenterBorder" 
                                BorderBrush="{TemplateBinding Property=BorderBrush}"
                                BorderThickness="{TemplateBinding Property=BorderThickness}" 
                                Background="{TemplateBinding Property=Background}" 
                                CornerRadius="3">
                            <Grid>
                                <ToggleButton x:Name="DropDownToggle" />
                                <ContentPresenter x:Name="ContentPresenter" />
                            </Grid>
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

使用这种风格我设法改变边框厚度
但现在我有了一个新问题 ToggleButton和ContentPresenter不起作用 我希望他们有默认行为 有没有办法为它们分配默认行为(类似style =“default style”)? 谢谢,

1 个答案:

答案 0 :(得分:2)

你可以这样做,

 this.comboBox.BorderThickness = new Thickness(1, 1, 1, 3);