首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据模板之外,On..PropertyValueChanged不运行

在数据模板之外,On..PropertyValueChanged不运行
EN

Stack Overflow用户
提问于 2011-08-02 17:58:42
回答 1查看 84关注 0票数 1

我有一个自定义控件,它使用On(属性名)ValueChanged从字典中读取条目,并为该控件设置参数。

我还想将该控件用作独立控件,而不仅仅是数据绑定控件。

那么为什么OnPropertyValueChanged只能在数据集中工作呢?

依赖属性是否只在xaml中起作用,这是否意味着我必须从容器类中的属性进行绑定?(可能已经回答了我自己的问题)

在我的mainpage.xaml

代码语言:javascript
运行
复制
    <local:spriteToggleButton x:Name="testButton" HorizontalAlignment="Center" Text="{Binding testString, ElementName=mainPage}" Correct="true" Margin="93,561,93,63" Grid.Row="1" Sprites="{Binding testSprites, ElementName=mainPage}" />

在mainpage.xaml.cs中

代码语言:javascript
运行
复制
    testSprites.Add("idle", idlesprite); // a dictionary of a custom sprite object
    testSprites.Add("highlighted", highlightedsprite);
    testSprites.Add("selected", selectedsprite);

    testString = "this is a test"; // this property is picked up by the binding.

当我从绑定中添加子画面时,它会运行依赖属性更改回调,但在独立使用控件时,spriteToggleButton类中的属性不会更新

这是我的依赖属性更改回调

代码语言:javascript
运行
复制
    private static void OnSpritesPropertyValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var control = d as spriteToggleButton;
        var sprites = e.NewValue as Dictionary<string, Quiz.Sprite>;

        control.idleSprite = sprites["idle"];
        control.selectedSprite = sprites["selected"];
        control.highlightedSprite = sprites["highlighted"];
    }

这是在我的spriteToggleButton中

代码语言:javascript
运行
复制
 <local:spriteView x:Name="Idle" Width="294" Height="57" HorizontalAlignment="Center" Sprite="{Binding idleSprite, ElementName=toggleSpriteControl}"  />
 ...

Sprite也是该控件中依赖属性

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-02 20:00:04

我非常怀疑您没有将spriteToggleButton类的idleSpriteselectedSpritehighlightedSprite实现为依赖属性。这样做,它就应该开始工作了。

不管你使用UserControl实现spriteToggleButton有什么价值,我都会从ToggleButton中派生出来,并替换默认模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6910276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档