1

このサイトと同じようなボタンを作りたいです。

私が扱っているオブジェクトが ArtPiece で、タイトルと日付があるとしましょう。これらの両方を、2 つの異なる TextBlocks のボタンに表示したいと考えています。

ボタンの ContentTemplate を変更してから、ContentTemplate 内のボタンの ContentPresenter を変更しようとしましたが、TextBlocks をバインドできません。

これを完全に XAML で行うための助けはありますか? 式 3 を使用しています。

4

2 に答える 2

3

あなたはこのようなことをしたいです:

        <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>
于 2010-01-11T18:52:17.130 に答える
0

あなたが本当に必要としているのは、これら 2 つのプロパティをボタンの 1 つの Content プロパティにバインドするためのある種のマルチバインディング サポートであるように思えます。私の知る限り、Silverlight には WPF にあるような組み込みのマルチバインディング サポートはありません。この記事では、Silverlight でそれを実装するための 1 つのアプローチについて概説します。

MVVM パターンを使用している場合、ViewModel に別のプロパティを作成して 2 つの文字列を連結し、ボタンのコンテンツをその単一の新しいプロパティにバインドする方がはるかに簡単な方法です。私の意見では、これははるかにシンプルでクリーンなアプローチです。

于 2010-01-11T17:28:58.900 に答える