c# - WPF 样式:找不到资源;资源键
问题描述
我有一些样式和模板,App.Xaml
所以我可以通过多个UserControls
.
编辑:这是在 app.Xaml 中:
其中一种风格是:
<Application x:Class="BaseRefence.generatingAnnotation.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:BaseRefence.generatingAnnotation"
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style x:Key="ComboBoxStyleRounded" TargetType="{x:Type ComboBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Grid>
<Border CornerRadius="25"
BorderThickness="1,1,2,2">
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
<Setter Property="Background" Value="{StaticResource ComboBox.Static.Background}"/>
<Setter Property="BorderBrush" Value="#42536b"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="BorderThickness" Value="1,1,2,2"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Padding" Value="6,3,5,3"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="Template" Value="{StaticResource ComboBoxTemplate}"/>
<Style.Triggers>
<Trigger Property="IsEditable" Value="true">
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/>
</Trigger>
</Style.Triggers>
</Style>
</Application.Resources>
</Application>
在 de UserControl.Xaml 我有:
<ComboBox ItemsSource="{Binding ViewFamilyTypesInProject}"
SelectedItem="{Binding SelectedViewFamilyType, Mode=TwoWay}"
Grid.Row="1"
Grid.Column="1"
Margin="10 5"
MaxHeight="40"
Style="{DynamicResource ComboBoxStyleRounded}">
在设计师中,一切都很好,它显示正确。但是,每当我构建和运行我的代码时,它都会给出消息并且它不会覆盖样式而是保留默认样式。
System.Windows.ResourceDictionary Warning: 9 : Resource not found; ResourceKey='ComboBoxStyleRounded'
解决方案
我的经验:我经常遇到同样的问题(使用 VS 16.6.2、.NET Core 3.1 和 WPF)。
只需关闭 Visual Studio 并重新启动它:98% 的时间错误都会消失(将来某个时候会再次出现)。
推荐阅读
- python - 如何在 Python 中更改光标图像
- spring - 访问 Spring Boot 指标端点的问题
- django - Django 尝试在 save() 上插入而不是更新
- php - 如何每两个值对数组进行切片和分组?
- c# - 在运行时从调试可视化工具中检测源语言
- xamarin.forms - 有没有办法使用 Xamarin.Forms PCL 项目中的 Devexpress.Xamarin.Android.Charts
- azure - Azure 搜索索引器不运行
- c# - 尝试诊断 Azure ASP.NET Core WebAPI 应用程序中的内存泄漏
- ios - 有没有办法在主 iOS 应用程序中打开或关闭贴纸包应用程序扩展?
- c - 如何使用插入排序正确排序数组?