加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用GetValueSource方法获取依赖属性的源

发布时间:2020-12-13 19:41:21 所属栏目:百科 来源:网络整理
导读:from: http://wpf.2000things.com/2010/12/05/146-use-getvaluesource-method-to-find-the-source-of-a-dependency-property-value/ It’s often helpful to determine the source of the current value of a dependency property. You can use the Dependen

from:

http://wpf.2000things.com/2010/12/05/146-use-getvaluesource-method-to-find-the-source-of-a-dependency-property-value/

It’s often helpful to determine the source of the current value of a dependency property. You can use theDependencyPropertyHelper.GetValueSourcemethod to do this.

In the following example,the source for the value of theForegroundproperty alternates between the style and the style trigger,based on the value of theIsEnabledproperty.

<Window.Resources>
    <Style x:Key="redgreenButton" TargetType="{x:Type Button}">
        <Setter Property="Foreground" Value="Green"/>
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Foreground" Value="Red"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>
<StackPanel Orientation="Vertical">
    <Button Content="A Button" Height="23" Width="75" Style="{StaticResource redgreenButton}" Name="btnTest"/>
    <Button Content="Enable/Disable" Height="24" Width="100" Name="btnDisable" Click="btnDisable_Click"/>
    <Button Content="Display Source" Height="24" Width="100" Name="btnDisplay" Click="btnDisplay_Click"/>
</StackPanel>

Here’s the code for the Display button’s Click event,which uses GetValueSource to report the base value source.

private void btnDisplay_Click(object sender,RoutedEventArgs e)
{
    ValueSource vs = DependencyPropertyHelper.GetValueSource(btnTest as DependencyObject,Button.ForegroundProperty);
    MessageBox.Show(string.Format("Source for Foreground property: {0}",vs.BaseValueSource));
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读