2010-01-11 4 views
1

this 웹 사이트의 버튼과 비슷한 버튼을 만들고 싶습니다.Silverlight : 개체의 다른 속성에 바인딩되는 두 개의 TextBlock을 포함하는 사용자 지정 단추를 만들 수 있습니까?

내가 작업하는 객체가 ArtPiece이고 제목과 날짜가 있다고 가정 해 보겠습니다. 두 개의 다른 TextBlock에 내 버튼에 두 가지를 모두 표시하고 싶습니다.

버튼의 ContentTemplate을 수정 한 다음 ContentTemplate에서 버튼의 ContentPresenter를 수정하려고했지만 여전히 TextBlocks를 바인딩 할 수 없습니다.

XAML에서이 작업을 완전히 수행하는 데 도움이 되셨습니까? 표현식 3을 사용하고 있습니다.

답변

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> 
+0

는 간단이 있다고 생각 할 수 없습니다. 나는 전에 그것을 시도했다고 생각했다. 오. – MStodd

0

버튼에있는 하나의 Content 속성에이 두 속성을 바인딩하는 데 일종의 다중 바인딩 지원이 실제로 필요한 것처럼 들립니다. 내가 아는 한 WPF에있는 것처럼 실버 라이트에 멀티 바인딩 지원이 내장되어 있지 않다. This article은 실버 라이트에서 구현하기위한 하나의 접근 방법에 대해 간략히 설명합니다.

MVVM 패턴을 사용하는 경우 두 개의 문자열을 연결 한 ViewModel에 다른 속성을 만드는 것이 더 쉬운 방법 일 수 있습니다. 그런 다음 버튼의 내용을 단일 새 속성에 바인딩 할 수 있습니다. 이것은 제 의견으로는 훨씬 간단하고 깨끗한 접근 방법이 될 것입니다.