gpt4 book ai didi

silverlight - XamlParseException - 属性属性的无效属性值 (...)

转载 作者:行者123 更新时间:2023-12-01 13:08:11 28 4
gpt4 key购买 nike

我在设计自己构建的自定义控件的样式时遇到了一些问题。这是控制源:

namespace SilverlightStyleTest
{
public class AnotherControl: TextBox
{
public string MyProperty { get; set; }
}
}

在同一个命名空间和项目中,我尝试为 MyProperty 创建一个带有 setter 的样式,如下所示:

<UserControl x:Class="SilverlightStyleTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Local="clr-namespace:SilverlightStyleTest">

<UserControl.Resources>
<Style x:Name="AnotherStyle" TargetType="Local:AnotherControl">
<Setter Property="Width" Value="200"/>
<Setter Property="MyProperty" Value="Hello."/>
</Style>
</UserControl.Resources>

<Grid x:Name="LayoutRoot">
<Local:AnotherControl Style="{StaticResource AnotherStyle}"/>
</Grid>
</UserControl>

我以运行时错误告终:属性 Property 的属性值 MyProperty 无效。 [行:9 位置:30]

我无法弄清楚导致此错误的样式有什么问题。我还尝试将属性名称“完全限定”为“Local:AnotherControl.MyProperty”,但这也不起作用。

最佳答案

非依赖属性不能在样式中设置

您需要将其定义为 DependencyProperty:

public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.Register("MyProperty", typeof(string), typeof(AnotherTextBox),
new FrameworkPropertyMetadata((string)null));

public string MyProperty
{
get { return (string)GetValue(MyPropertyProperty); }
set { SetValue(MyPropertyProperty, value); }
}

关于silverlight - XamlParseException - 属性属性的无效属性值 (...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229388/

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