微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WPF / Silverlight:部分模板自定义控件

.

大家好,

我们可以用这样的方式编写自定义控件,以后我们可以对其进行部分重新模板化吗?意味着,在不更换整个ControlTemplate的情况下,我们想要改变/覆盖它的一些外观和感觉?

当然,一种方法是:从generic.xaml复制ControlTemplate代码,部分修改它的外观,并在xaml中使用它,如下所示:

<MyCustomControl>
       <MyCustomControl.Template>
              <ControlTemplate>

                    <!-- paste the copied and modified code from generic.xaml here-->

              </ControlTemplate>
        </MyCustomControl.Template>

        <!--other code-->

</MyCustomControl>

但是这种方法的问题在于,我们使xaml过于冗长.我真的不喜欢它.我正在寻找一些解决方案,可以帮助我免受污染我正在使用自定义控件的xaml.

在期待中感谢!

.

解决方法

我同意Martin所说的大部分关于ControlTemplates在WPF中几乎全有或全无的事情,当我得出这个结论时,我自己很沮丧.

如果您编写自己的自定义控件,则可以使其更灵活,以便编写或提供模板控件的模板.例如,您可以查看较新的WPF DataGrid控件,该控件可以模拟控件的不同部分.其他带标题内容控件通常具有用于内容的单独模板和控件的标题部分,使得可以替换一个但不替换另一个.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐