我有以下Stlye
<Style x:Key="xPad" TargetType="TextBlock">
<Setter Property="Padding" Value="2,3,-6,3"/>
</Style>
如果我在XAML中使用此样式,它将按预期工作。 但是当我尝试在代码中加载它时:
object o = Application.Current.TryFindResource("xPad");
我得到一个参数异常,值2,3,-6,3不是System.Windows.Documents.Block.Padding的有效值。
答案 0 :(得分:0)
原因可能是您的Padding
值在计算尺寸时导致负高度和宽度,并且您可能会在内部获得异常高度和宽度必须为非负例外
从这个stackoverflow回答: 事实证明,如果您的窗口大于您的屏幕,您可能会获得负值,无论是位置还是大小。
所以,我猜你的填充值2,3,-6,3
(左,上,右,下)可能导致窗口大于屏幕大小。因为它在调用get_size
时抛出异常,并且在我测试时,如果你只是将值改为`2,3,-2,3',它就可以工作。