【问题标题】:Assigning x:Name to Thickness throws exception将 x:Name 分配给厚度会引发异常
【发布时间】:2013-01-31 17:57:05
【问题描述】:

谁能解释一下为什么会抛出异常?

<UserControl>
    <Grid>
        <Grid.Margin>
            <Thickness x:Name="thickness" />
        </Grid.Margin>
    </Grid>
</UserControl>

如果我删除x:Name 属性,那么它会成功运行。

错误详情:

消息:Silverlight 应用程序中的未处理错误 代码:4004
类别:ManagedRuntimeError
消息:System.NullReferenceException:对象引用未设置为对象的实例。 在 SilverlightBindingTest.MainPage.InitializeComponent() 在 SilverlightBindingTest.MainPage..ctor() 在 SilverlightBindingTest.App.Application_Startup(对象发送者,StartupEventArgs e) 在 MS.Internal.CoreInvokeHandler.InvokeEventHandler(UInt32 typeIndex,委托 handlerDelegate,对象发送者,对象参数) 在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)

【问题讨论】:

    标签: silverlight xaml


    【解决方案1】:

    Name 属性是一个 DependencyObject,因此只能在另一个 DependencyObject 上设置。

    Thickness 不是 DependencyObject,因此不能使用 Name 属性。

    【讨论】:

    • 谢谢。真是太可惜了,我希望为边缘设置动画——显然不可能。
    • 你只能动画依赖属性,所以你可以用故事板改变页边距,但不能动画。您可能需要考虑缩放和/或平移变换以实现类似的效果。或者您可以为高度、宽度、顶部、左侧、右侧和底部设置动画以实现相同效果。
    • 嗯,我猜是“使用关键帧的离散动画”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2020-06-13
    • 1970-01-01
    • 2021-05-29
    相关资源
    最近更新 更多