silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了根据Silverlight / WPF中绑定数据的值切换数据模板大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

说我正在使用 WPF或Silverlight并将ContentPresenter绑定到整数属性: <ContentPresenter Content={Binding ScorE} /> 如果得分为10,我想显示金星,否则只显示数字.基本上我有两个可能的数据模板: <Path Fill="Gold" Data="..." /> <TextBlock Text="{Binding ScorE}"
说我正在使用 WPF或Silverlight并将ContentPresenter绑定到整数属性

<ContentPresenter Content={Binding score} />

如果得分为10,我想显示金星,否则只显示数字.基本上我有两个可能的数据模板:

<Path Fill="Gold" Data="..." />

<TextBlock Text="{Binding score}" />

设置它的最佳方法是什么?是否使用绑定转换器?或者绑定到另一个动态加载相应数据模板xaml的对象,并根据score的值生成正确的FrameworkElement?或者是否有另外一个我缺少的技巧 – 也许ContentPresenter不是正确使用的控件?

我想知道你是否可以做这样的事情,但它不喜欢ContentTemplate值中的嵌套绑定:

<StackPanel>
    <StackPanel.resources>
        <DataTemplate x:Key="Lowscore">
            <TextBlock Text="{Binding Path=score}" Foreground="Red" />
        </DataTemplate>
        <DataTemplate x:Key="Highscore">
            <Path Fill="Gold" Data="M 0,0 l 10,0 l 5,-10 l 5,10 l 10,0 l -7,10 l 2,10 l -10,-5 l -10,5 l 2,-10 Z" />
        </DataTemplate>

    </StackPanel.resources>
    <ContentPresenter Content="{Binding score}" ContentTemplate="{Staticresource resourceKey={Binding scoreTemplatE}}">
    </ContentPresenter>
</StackPanel>

解决方法

你可以使用模板选择器. Here is a nice tutorial on Switch On The Code.基本上,模板选择器允许您根据所需的条件选择项目的模板.

大佬总结

以上是大佬教程为你收集整理的根据Silverlight / WPF中绑定数据的值切换数据模板全部内容,希望文章能够帮你解决根据Silverlight / WPF中绑定数据的值切换数据模板所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。