首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual设计器在XDG0062核心WPF应用程序中使用EventSetter错误

Visual设计器在XDG0062核心WPF应用程序中使用EventSetter错误
EN

Stack Overflow用户
提问于 2019-11-26 13:59:01
回答 2查看 30.2K关注 0票数 14

在将WPF项目从.NET框架移植到.NET核心时,我遇到了VS2019 v16.3.10中的XAML-Designer的问题。当我尝试在样式中使用XDG0062时,它总是抛出EventSetter错误。代码编译和运行良好,但是错误导致设计器中的相关元素被用X替换为红色圆圈,这使得设计UI相当困难。在.NET framework 4.7.2.项目中,同样的XAML工作得很好。

为了追踪这个问题,我从头到尾做了一个VS最小项目(WPF .NET Core),这个问题也发生在这里(参见下面的错误和代码)。它似乎是由EventSetter在样式中的使用引起的--不幸的是,我不知道原因。Google在没有解决方案的情况下提到了这个问题,Stack溢出有一个关于这个错误代码的主题,但是这个解决方案(删除VS缓存)没有帮助。删除EventSetter行将同时删除这两个错误消息。

有人有解决这个问题的建议吗?

完全错误消息:

代码语言:javascript
复制
Line 9: XDG0062 Non-NULL value required for "EventSetter.Handler"

Line 12: XDG0062 Value cannot be null. (Parameter 'typeDescriptorContext')

XAML:

代码语言:javascript
复制
<Window x:Class="XDG0062_test.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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:XDG0062_test"
    mc:Ignorable="d"
    Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <Style TargetType="TextBox">
            <Setter Property="Height" Value="30"></Setter>
            <Setter Property="Width" Value="130"></Setter>
            <EventSetter Event="GotFocus" Handler="TextBox_GotFocus"/>
        </Style>
    </Window.Resources>
    <Grid>
        <TextBox HorizontalAlignment="Left" Margin="70,100,0,0"
                 Text="TextBox" TextWrapping="Wrap" VerticalAlignment="Top"/>
    </Grid>
</Window>

C#:

代码语言:javascript
复制
using System.Windows;
namespace XDG0062_test
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void TextBox_GotFocus(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Beep");
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2021-04-08 01:34:52

我在VS2019中通过删除文件夹.vs/$(SolutionName)/DesignTimeBuild来解决这个问题,这样我就可以保留VS配置/资源管理器/选项卡,这些选项卡在删除整个.vs时会丢失。

设计构建以某种方式损坏,需要更新。这迫使有一个新的设计生成。

票数 15
EN

Stack Overflow用户

发布于 2020-03-17 13:05:36

微软已经发布了评论中提到的修复程序。我可以确认我的问题在2019年16.5.0时确实得到了解决

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59052601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档