Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在组合框中设置ContentPresenter的样式?_C#_Wpf_Xaml_Combobox_Styles - Fatal编程技术网

C# 如何在组合框中设置ContentPresenter的样式?

C# 如何在组合框中设置ContentPresenter的样式?,c#,wpf,xaml,combobox,styles,C#,Wpf,Xaml,Combobox,Styles,我目前正在设计ComboBox的样式,使其与VisualStudio中的颜色主题类似。我已经完成了大部分样式设置,但在显示当前所选对象的ContentPresenter处停止 XAML的片段如下所示: <ContentPresenter Margin="2" IsHitTestVisible="False" VerticalAlignment="Center" HorizontalAlignment="Stretch" Name="ContentSite

我目前正在设计ComboBox的样式,使其与VisualStudio中的颜色主题类似。我已经完成了大部分样式设置,但在显示当前所选对象的ContentPresenter处停止

XAML的片段如下所示:

<ContentPresenter Margin="2" IsHitTestVisible="False" VerticalAlignment="Center" HorizontalAlignment="Stretch"
                  Name="ContentSite"
                  ContentTemplate="{TemplateBinding ComboBox.SelectionBoxItemTemplate}"
                  Content="{TemplateBinding ComboBox.SelectionBoxItem}" />
第一个是不可编辑的,SelectionBoxItemTemplate将启动并强制将文本的颜色设置为黑色,即使前台手动设置为红色,并且在样式中设置为另一种非黑色


如何将当前前景色传递给ContentPresenter?如果不能,我在哪里可以找到SelectionBoxItemTemplate的工作替代品?就工作而言,它将正确地用于组合框中的所有项目类型

我不认为它会忽略前景色。如果在XAML中添加一个普通的组合框控件,如下所示…:

<ComboBox Foreground="Red">
    <ComboBoxItem>One</ComboBoxItem>
    <ComboBoxItem>Two</ComboBoxItem>
    <ComboBoxItem>Three</ComboBoxItem>
    <ComboBoxItem>Four</ComboBoxItem>
</ComboBox>

今天碰巧有另一个用户问了同样的问题。与其将所有内容复制粘贴到此处,我建议您在此处阅读我的答案:这里有一个链接,指向如何解决这些样式继承问题的教程:
<ComboBox Foreground="Red">
    <ComboBoxItem>One</ComboBoxItem>
    <ComboBoxItem>Two</ComboBoxItem>
    <ComboBoxItem>Three</ComboBoxItem>
    <ComboBoxItem>Four</ComboBoxItem>
</ComboBox>
<ContentPresenter Margin="2" IsHitTestVisible="False" VerticalAlignment="Center" 
    HorizontalAlignment="Stretch" Name="ContentSite" ContentTemplate="{TemplateBinding 
    SelectionBoxItemTemplate}" Content="{TemplateBinding SelectionBoxItem}" />