gpt4 book ai didi

wpf - 当 InnerException 为 null 时如何调试 DependencyProperty.Unsetvalue 错误

转载 作者:行者123 更新时间:2023-12-02 10:29:16 25 4
gpt4 key购买 nike

我有一个自定义登录用户控件,它有一个普通的文本框和一个密码框。

Blend 拒绝与 PasswordBox 合作,称“DP.UnsetValue”对于 PasswordChar 属性无效。然而,该项目在 Blend 或 VS2010 中编译并运行良好。 VS2010 中的苹果酒设计器似乎并不介意该错误,因为它实际上呈现了我的 UserControl 进行设计时配置。

通常,当我收到这些错误之一时,会出现 InnerException,其中缺少文件/资源​​的路径。这里的情况并非如此,我不确定如何解决将来出现这种情况时的问题。

我交换了标签,将PasswordBox 转换为普通的TextBox,看起来效果不错。但是我需要 PasswordBox 提供的输入掩码。在 Blend 中注释掉该对象并完成控件的样式不太实际。

这是我的 Xaml:

 <PasswordBox x:Name="PasswordTextbox" PasswordChar="*" Height="26" VerticalAlignment="Center" Grid.Column="1" Grid.Row="1" Margin="5" RenderTransformOrigin="0.5,0.5" TabIndex="3">
<PasswordBox.RenderTransform>
<TransformGroup>
<ScaleTransform/>
</TransformGroup>
</PasswordBox.RenderTransform>
<PasswordBox.Effect>
<DropShadowEffect />
</PasswordBox.Effect>
<PasswordBox.Triggers>
<EventTrigger RoutedEvent="UIElement.GotFocus">
<BeginStoryboard Storyboard="{StaticResource StoryboardScaleUpFontIncrease}"/>
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.LostFocus">
<BeginStoryboard Storyboard="{DynamicResource StoryboardScaleNormalFontNormal}"/>
</EventTrigger>
</PasswordBox.Triggers>
</PasswordBox>

有人知道如何调试这种行为吗?

最佳答案

我在 xaml 设计器中也遇到了同样的问题,但方式截然不同。我在此处添加详细信息,以防对某人有帮助。

我使用的是第 3 方控件,该控件在 dll 中定义了自己的主题。我引用了这个 dll 并使用“StaticResource”来引用该 dll 中定义的一些资源。然后,xaml 设计者在我的 xaml 代码下划线,并表示“D.Unset 不是 xxx 的有效值”之类的内容。但程序编译运行没有任何问题。

要消除这些烦人的下划线,解决方案很简单:将“StaticResource”更改为“DynamicResource”。另一种更复杂的方法是使用“ResourceDictionary.MergedDictionaries”将该 dll 中的资源包含到您的 xaml 文件中。

关于wpf - 当 InnerException 为 null 时如何调试 DependencyProperty.Unsetvalue 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com