gpt4 book ai didi

c# - 使用自定义控件在 silverlight 中设置样式与内联属性

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:55 26 4
gpt4 key购买 nike

我有一个自定义的 silverlight 控件,它几乎是一个美化的文本框。我在其中有一些属性,我需要能够从 silverlight 中的 XAML 进行设置,因此对于每个属性,我都创建了如下内容:

public bool UseCustomTooltips
{
get { return _useCustomTooltips; }
set
{
_useCustomTooltips = value;
DoSomeOtherStuff();
}
}

public static readonly DependencyProperty UseCustomTooltipsProperty = DependencyProperty.Register("UseCustomTooltips",
typeof(bool), typeof(MyControl), new PropertyMetadata(false, PropertyChangedCallback));

在 XAML 中,我可以创建控件并为该属性指定一个值,如下所示:

<Controls:MyControl UseCustomTooltips="True" />

控件的状态是更新,我的回调被命中,一切都应该如此。但是,当我尝试从样式而不是像这样在控件的每个实例中指定该状态时:

<Style x:Key="MyControl" TargetType="Controls:MyControl">
<Setter Property="Foreground" Value="Yellow"/>
<Setter Property="UseCustomTooltips" Value="True"/>
</Style>

<Controls:MyControl Style="{StaticResource MyControl}" />

我的自定义属性从未设置,我的回调也从未被触发,即使继承的属性 Foreground 具有样式中指定的值。这让我假设我的依赖项属性的连接方式有问题,但到目前为止我在网上看到的一切都告诉我我的设置是正确的。

谁能指出我正确的方向?谢谢。

最佳答案

这不是注册依赖属性的正确方法。

    public bool UseCustomTooltips
{
get { return (bool)GetValue(UseCustomTooltipsProperty); }
set { SetValue(UseCustomTooltipsProperty, value); }
}

public static readonly DependencyProperty UseCustomTooltipsProperty =
DependencyProperty.Register("UseCustomTooltips",
typeof(bool),
typeof(MyControl),
new PropertyMetadata(false, new PropertyChangedCallback(MyCallbackMethod)));

使用propdp 片段,这真是一件美丽的事情。

关于c# - 使用自定义控件在 silverlight 中设置样式与内联属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853727/

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