C# 调试版本和发布版本之间的WPF应用程序布局差异

C# 调试版本和发布版本之间的WPF应用程序布局差异,c#,wpf,visual-studio,frontend,C#,Wpf,Visual Studio,Frontend,我们在VisualStudio的WPF中制作了一个非常简单的应用程序,用于向数据库添加数据。它对数据进行了验证,如果验证失败,则会显示红色错误消息,指出错误所在,并且包含无效数据的文本框用红色边框包围。 这在调试模式下运行良好。当我们进行发布构建或在VS中以发布模式运行应用程序时,红色边框不在那里,但红色错误消息仍然出现,表明验证仍然成功 为什么调试时会显示红色边框,而发行版中不会显示?有没有人有过类似的问题?有人能给我指出应该看的方向吗 此外,如果我在代码中放置断点,则在发布模式下不会命中断点

我们在VisualStudio的WPF中制作了一个非常简单的应用程序,用于向数据库添加数据。它对数据进行了验证,如果验证失败,则会显示红色错误消息,指出错误所在,并且包含无效数据的文本框用红色边框包围。 这在调试模式下运行良好。当我们进行发布构建或在VS中以发布模式运行应用程序时,红色边框不在那里,但红色错误消息仍然出现,表明验证仍然成功

为什么调试时会显示红色边框,而发行版中不会显示?有没有人有过类似的问题?有人能给我指出应该看的方向吗

此外,如果我在代码中放置断点,则在发布模式下不会命中断点,即使“高级生成设置”>“调试信息”处于完全状态,并且在调试属性中“仅我的代码”处于禁用状态

任何帮助都将不胜感激

编辑:

XAML代码

 <TextBox Text="{Binding CredentialLogin, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  Grid.Row="1"  Grid.Column="2" Margin="4">
            <TextBox.Style>
                <Style TargetType="TextBox">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=IsLoginValid}" Value="False">
                            <Setter Property="BorderThickness" Value="1" />
                            <Setter Property="BorderBrush" Value="Red" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </TextBox.Style>
        </TextBox>

这是一个稍微缩短的代码版本,有更多的验证,但我只显示用户名一个,其余的几乎相同,只有其他属性

您可以共享一些代码吗?在发布配置中未命中断点并不一定意味着代码未运行,只是文件中的代码与执行的IL指令不匹配。您希望看到哪一部分,因为我真的不知道共享什么代码会很有趣…错误消息应该出现在哪里的XAML代码和设置代码(并且不会命中)的C#代码。我希望这部分代码能有所帮助…在应用程序属性的“构建”选项卡中调试和发布之间有什么区别?你能共享一些代码吗?在发布配置中未命中断点并不一定意味着代码未运行,只是文件中的代码与执行的IL指令不匹配。您希望看到哪一部分,因为我真的不知道共享什么代码会很有趣…错误消息应该出现的XAML代码和设置代码(并且不会命中)的C#代码。我希望这部分代码能有所帮助…在应用程序属性的“构建”选项卡中调试和发布之间有什么区别?
    var result = _validator.Validate(validationModel);
    if (!result.IsValid)
    {

                if (result.Errors.Any(e => e.PropertyName.Equals($"Entity.{nameof(SystemCredential.Username)}",
                    StringComparison.InvariantCultureIgnoreCase)))
                    IsLoginValid = false;


                foreach (var error in result.Errors)
                {
                    ValidationMessages.Add(error.ErrorMessage);
                }

                NotifyOfPropertyChange(nameof(ValidationMessages))
                NotifyOfPropertyChange(nameof(IsLoginValid));

                return false; 
    }