欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[WPF 学习] 11.动态绑定VisualBrush

程序员文章站 2024-02-01 11:14:34
需求很简单,就是文本框想要个placeholder的效果,中文的时候显示“姓名”,英文的时候显示“Name”,于是有了以下代码: 然后,动态切换成英文资源的时候,发现他还是中文的,晕。后来改成以下代码就OK了,不知和解? ......

需求很简单,就是文本框想要个placeholder的效果,中文的时候显示“姓名”,英文的时候显示“name”,于是有了以下代码:

        <textbox>
            <textbox.style>
                <style targettype="textbox">
                    <style.triggers>
                        <trigger property="text" value="">
                            <setter property="background">
                                <setter.value>
                                    <visualbrush opacity="0.3" stretch="none" tilemode="none">
                                        <visualbrush.visual>
                                            <textblock text="{dynamicresource name}" fontsize="20"></textblock>
                                        </visualbrush.visual>
                                    </visualbrush>
                                </setter.value>
                            </setter>
                        </trigger>
                    </style.triggers>
                </style>
            </textbox.style>
        </textbox>

然后,动态切换成英文资源的时候,发现他还是中文的,晕。后来改成以下代码就ok了,不知和解?

                  <textbox>
                        <textbox.style>
                            <style targettype="textbox">
                                <style.triggers>
                                    <trigger property="text" value="">
                                        <setter property="background" value="{dynamicresource vbname}"></setter>
                                    </trigger>
                                </style.triggers>
                            </style>
                        </textbox.style>
                    </textbox>