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

时间:2020-04-29 13:12:10

标签: c# wpf visual-studio frontend

我们在Visual Studio中使用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>

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; 
    }

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

0 个答案:

没有答案
相关问题