需求很简单,就是文本框想要个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>