2010-06-16 7 views
0

Silverlight에서 ViewModel 클래스로 설정된 DataContext가있는 Grid가 있습니다.
ViewModel에는 항목 목록 (int ID와 string Text가 포함 된 항목)과 정수 (ID)가 있으며 현재 선택된 항목 (선택되지 않은 항목)을 식별합니다.
활성 항목에 다른 색이있는 ListBox로 xaml을 구성하고 싶습니다. 내가 어떻게 해?Listbox를 두 개의 속성에 바인딩하는 방법은 무엇입니까?

특히, XAML에서, 내가 가진 :

<Grid DataContext="ModelView"> 
    <ListBox ItemsSource="Questions"> 
     <ListBox.ItemTemplate>   
      <TextBlock Text="{Binding ID}" /> 
      <TextBlock Text="{Binding Text}" />   
     </ListBox.ItemTemplate> 
    </ListBox> 
    <TextBlock Text="{Binding ID}" /> 
</Grid>` 

이 어떻게에게 모델 뷰에 속성 ID를 기반으로 한 (단 하나의) 목록 상자에서 항목의 색상을 설정할 수 있습니까?

하나 더 문제 - 활성 항목을 변경할 때 - 어떻게 ListBox를 새로 고칠 수 있습니까?

+0

죄송합니다. 다만 그게 아니라면 -하지만 요구 사항이 무엇인지 잘 모르겠습니다. –

+0

이 xaml은 단순화 된 예입니다. 솔루션을 찾았지만 마음에 들지 않습니다. 부울 속성 IsActivated 및 정적 속성 ViewModel을 사용하여 항목을 확장해야했습니다. IsActivated 활성 항목의 ID가있는 현재 항목의 ID입니다. – Gabriel

답변

0

나는 XAML에서했습니다 :

일 목록 상자에서 단 하나의 항목의 설정 I 색상 모델 뷰에 속성 ID를 기반으로 어떻게?

+0

@Gabriel :이 유형의 추가 정보는 질문 섹션에 있습니다. 나는 계속 나아가 거기에 덧붙였다. 이 답변을 삭제하면 적절한 답변을받을 수있는 가능성이 높아집니다. – mjv

+0

내 대답을 어떻게 삭제합니까? – Gabriel

0

ItemTemplate이 유효하지 않습니다. btw. !

난 내가 해결책이 될 수있는 예를

<DataTemplate> 
    <Image x:Name="MyImage" Source="Images/corrected.png" Width="64" Height="64" /> 
    <DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding YourConditionValue}" Value="0"> 
      <Setter TargetName="MyImage" Property="Source" Value="Images/notCorrected.png" /> 
     </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 

이 일을했던 그리드에서 강조 표시된 목록 상자 항목

을 템플릿에 트리거를 사용하려고 것입니다하지만 당신은 자신에게 그것을

를 확인해야
관련 문제