Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight:我可以创建一个包含两个文本块的自定义按钮,每个文本块都绑定到对象上的不同属性吗?_Silverlight_Binding_Expression Blend_Contentpresenter - Fatal编程技术网

Silverlight:我可以创建一个包含两个文本块的自定义按钮,每个文本块都绑定到对象上的不同属性吗?

Silverlight:我可以创建一个包含两个文本块的自定义按钮,每个文本块都绑定到对象上的不同属性吗?,silverlight,binding,expression-blend,contentpresenter,Silverlight,Binding,Expression Blend,Contentpresenter,我想使按钮类似的网站上 假设我正在处理的对象是艺术品,并且有一个标题和日期。我想这两个都显示在我的按钮上的两个不同的文本块 我一直在尝试修改按钮的ContentTemplate,然后在ContentTemplate中修改按钮的ContentPresenter,但仍然无法绑定文本块 完全用XAML完成这项工作有什么帮助吗?我使用的是Expression 3。听起来您真正想要的是某种多绑定支持,将这两个属性绑定到按钮上的一个内容属性。据我所知,silverlight中没有像WPF中那样的内置多绑定支

我想使按钮类似的网站上

假设我正在处理的对象是艺术品,并且有一个标题和日期。我想这两个都显示在我的按钮上的两个不同的文本块

我一直在尝试修改按钮的ContentTemplate,然后在ContentTemplate中修改按钮的ContentPresenter,但仍然无法绑定文本块


完全用XAML完成这项工作有什么帮助吗?我使用的是Expression 3。

听起来您真正想要的是某种多绑定支持,将这两个属性绑定到按钮上的一个内容属性。据我所知,silverlight中没有像WPF中那样的内置多绑定支持。概述了在silverlight中实现它的一种方法


如果您使用的是MVVM模式,那么更简单的方法是在ViewModel中创建另一个属性,将两个字符串连接在一起,然后您可以将按钮的内容绑定到单个新属性。在我看来,这将是一种更简单、更干净的方法。

您想这样做:

        <Button Click="Button_Click" Name="button" >
            <Button.ContentTemplate>
                <DataTemplate>
                    <StackPanel Background="Yellow" Width="200" Height="200">
                        <TextBlock Text="{Binding Title}" />
                        <TextBlock Text="{Binding Date}" />
                    </StackPanel>
                </DataTemplate>
            </Button.ContentTemplate>
        </Button>

真不敢相信事情会这么简单。我以为我以前试过,哦,好吧。