나는 최근 WPF와 같은 질문을 올렸고 대답을 얻었다. 문제는 Silverlight에서 대답이 작동하지 않는다는 것입니다. 다음과 같은 상황이 있습니다. MVVM Light Toolkit을 사용하고 있으며 ObservableCollection에 바인딩 된 DataGrid가 있습니다. 텍스트 열이 하나만 표시됩니다. 표시된 개체 안에있는 부울에 따라 셀의 텍스트를 굵게 또는 표준으로 표시하고 싶습니다. 은 내가 Syle.Trigger와 스타일을 사용하는 WCF에서 작동하게하려면Silverlight에서 MVVM을 사용하여 바인딩되는 데이터에 따라 DataGrid의 셀을 어떻게 변경합니까?
<DataGrid.Resources>
<Style x:Key="Style1" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsRead}" Value="False">
<Setter Property="FontWeight" Value="Bold" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Title}" ElementStyle="{StaticResource ResourceKey=Style1}" />
</DataGrid.Columns>
문제는이 실버 라이트에서 사용할 수없는 것입니다. 나는 약간의 조사를했고 VisualStateManager가 트리거의 "대체물"이라는 것을 알았지 만 DataGridTextColumn을 편집하는 상태를 만들지 못했습니다. GoToState에서 DataStateBehavior ...까지 여러 가지 다른 방법을 시도했지만 지금까지 아무 것도 작동하지 않았습니다.
제발 도와주세요!
들으
을! 고맙습니다 !! IsRead의 값 "True"와 FontWeight의 Normal에 대해 두 번째 DataTrigger를 추가하여 bool이 true로 바뀌면 정상으로 돌아갑니다. "FontWeight 속성이 DataGridTextColumn 열 형식과 잘 작동하지 않습니다"라는 이상한 점을 발견했습니다. 나를 위해 텍스트와 글꼴은 형제와 자매입니다 :). 다시 한번 큰 도움을 주셔서 감사합니다. – DEIONaLiMs