WPF 设计器中不显示组合框颜色更改

问题描述 投票:0回答:1

当我设置组合框或边框的背景颜色时,更改不会显示在设计器中,但在运行时会正确显示。代码或属性窗口或应用程序中的任何位置都不会显示更改。这只发生在组合框控件上;其他控件显示正确。

我什至重置了VS2022,但它不起作用。

<Window
x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="232"
Height="114"
mc:Ignorable="d">
<Grid>
    <ComboBox HorizontalAlignment="Left" Margin="69,35,0,0" VerticalAlignment="Top" Width="120" Background="#0720F3"/>
    <Button Content="Button" HorizontalAlignment="Left" Margin="100,65,0,0" VerticalAlignment="Top" Background="#FFD01A1A"/>
</Grid>

我在所有wpf项目中都遇到这个问题。

wpf controls visual-studio-2022
1个回答
0
投票

那是因为你没有在XAML中设置窗口的datacontext。

如果您只是忘记设置窗口的数据上下文,请忽略以下答案,只需在 XAML 代码中设置数据上下文。

如果您在其他地方设置此窗口的数据上下文,也没关系,您仍然可以通过将窗口属性 DataContext 设置为设计,让设计器选择您用作数据上下文的类(在代码中的其他位置)你的班级的实例。

记住还要声明您打算用作命名空间的类的命名空间。

像这样:

<Window x:Class="WpfApp1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:WpfApp1"
    xmlns:[DECLARED NAMESPACE]="clr-namespace:[ACTUAL PATH TO NAMESPACE]"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="MainWindow"
    Width="232"
    Height="114"
    d:DataContext="{d:DesignInstance Type=[DECLARED NAMESPACE]:[YOUR DATACNTEXT CLASS HERE]}"
mc:Ignorable="d">

这会将窗口的设计实例设置为您想要的数据上下文,并且不会在运行时两次设置数据上下文。

© www.soinside.com 2019 - 2024. All rights reserved.