데이터 바인딩에서 두 가지 속성을 결합할 수 있습니까?
결합식에서 두 속성을 함께 결합할 수 있습니까?변환기 없이 또는 두 개의 텍스트 블록을 작성하고 개별적으로 설정하지 않고 가능합니까?
보여주고 싶으면 말해요.FirstName
그리고.LastName
단번에TextBlock
그러면 다음과 같이 할 수 있습니다.
<TextBlock>
<Run Text="{Binding FirstName}" />
<Run Text=" " /> <!-- space -->
<Run Text="{Binding LastName}" />
</TextBlock>
이제, 텍스트 블록의Text
재산은 다음과 같습니다."Sachin Tendulkar"
다음과 같은 경우 표시됩니다.
FirstName = Sachin
LastName = Tendulkar
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} , {1}">
<Binding Path="data1" />
<Binding Path="data2" />
</MultiBinding>
</TextBlock.Text>
data1 및 data2는 바인딩된 문자열 속성입니다.
알파 마우스가 멀티바인딩이 즉시 작동하지 않을 것이라고 제안한 것처럼, 하지만 이 남자는 다음과 같은 도움이 될 수 있는 무언가를 함께 던졌습니다.
만약 그것이 약간 부정적으로 보인다면, 바인딩 메커니즘에 대한 도우미로서 당신의 객체에 결합된 값 속성을 넣는 것을 시도해 볼 수 있습니다.
public string FullName {
get { return this.FirstName + " " + this.LastName; }
}
WPF에서는 MultiBinding 및 StringFormat의 도움을 받아 가능합니다.하지만 안타깝게도 실버라이트에서는 그렇지 않습니다.
문자열을 추가해야 하는 경우 해당 문자열을 사용해 보십시오.윈도우 폰에서 텍스트를 바인딩한 후 "%"를 추가합니다.
<TextBlock Text="{Binding Path=clouds.all, StringFormat=\{0\}%}"/>
연결을 수행하는 게터를 사용하여 새 속성을 추가할 수 있습니다.
있다고 하시오FirstName
그리고.LastName
특성.그런 다음 다음 다음을 정의할 수 있습니다.Name
속성은 다음과 같습니다.
public string Name { get { return FirstName + " " + LastName; } }
이렇게 하면 잘 작동하지만 읽기 전용 속성에 대해 양방향 바인딩을 수행할 수 없습니다.또한 원본 속성의 설정자에서 연결된 속성에 대한 속성 변경 알림을 구현할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/4325453/can-we-concat-two-properties-in-data-binding
'programing' 카테고리의 다른 글
ASP.NET MVC - 컨트롤러에서 App_Data 폴더의 절대 경로 찾기 (0) | 2023.05.02 |
---|---|
View Result()와 Action Result() (0) | 2023.05.02 |
EPF Composer 1.5에서 분야를 삭제하려면 어떻게 해야 합니까? (0) | 2023.05.02 |
WPF의 ListView와 DataGrid의 차이점은 무엇입니까? (0) | 2023.05.02 |
유성: 내 몽고 데이터베이스를 백업하려면 어떻게 해야 합니까? (0) | 2023.05.02 |