사용

2017-04-07 17 views
-1

내가 가지고 다음과 같이 MultiBinding 정의 :사용

<MultiBinding x:Name="MyDefaultBinding" StringFormat="..."> 
    <!-- etc --> 
</MultiBinding> 
:

<MultiBinding StringFormat="{0}_{1}"> 
    <Binding Path="..." /> 
    <Binding Path="..." /> 
</MultiBinding> 

내가 같이 여러 위치에서 사용해야하고, 내 자원을 정의 할

그러나 지금은 어떻게 사용하는지 알아낼 수 없습니다. 이 나에게 컴파일 오류가 준

<TextBlock Text="{StaticResource MyDefaultBinding}" 
      Style="{StaticResource SomeOtherStyle}" /> 

: "잘못된 리소스 유형 : 예상 유형은 '문자열을'실제의 형태가 'MultiBinding'입니다."나는 StaticResource 같은 시도. 내가 사용하여 접근을 시도

Binding 같은 :

<TextBlock Text="{Binding Source={StaticResource MyDefaultBinding}}" 
      Style="{StaticResource SomeOtherStyle}" /> 

그것은 컴파일하지만 런타임에 TextBlock의 텍스트가 "System.Windows.Data.MultiBinding"로 설정 대신의 기대 값.

Style에 배치하는 제안을 보았습니다. 그러나 이미 바인딩을 사용해야하는 컨트롤에 다른 공유 스타일이 정의되어 있습니다.

스타일로 묶지 않고 리소스에 정의 된 바인딩을 평가할 수 있습니까? -그대로

+0

나는 이것이 가능하다고 생각하지 않습니다. 그러나 새로운 스타일에서'BaseOn'을 사용하여 기존 스타일을 확장 할 수 있다고 생각합니다. 그렇게하면 바인딩이있는 스타일 하나가 없지만 한 번만 코딩 된 스타일을 갖게됩니다. – wkl

답변

0

당신은 정말 바인딩 자원을 다시 사용할 수 없습니다하지만 당신은 여기에 제안 리소스를 적용 태그 확장을 만들 수 있습니다

Binding as a Resource