그래서 ProgressRing
과 TextBlock
을 가지고 있는데이 기본 해킹을 구현하려고합니다. TextBlock의 Text에 값 (null 이외의 값)이 할당 될 때 두 요소를 모두 표시하려고합니다. 그렇지 않으면 TextBlock의 Text가 null 인 경우 두 요소가 모두 숨겨집니다.문자열을 가시성으로 변환하는 방법
내 Xaml은 다음과 같습니다. TextBlock의 텍스트은 MessageForProgressRing
에 바인드되며 의 표시 여부은 MessageForProgressRing
과 모두에 바인딩됩니다. 같은 날 ProgressRing
:
<StackPanel Panel.ZIndex="100" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
<mahControls:ProgressRing Height="50" IsActive="True" Width="50" Visibility="{Binding MessageForProgressRing, TargetNullValue=Collapsed, FallbackValue=Visible}" Foreground="White" Margin="0,0,0.2,0" />
<TextBlock Text="{Binding MessageForProgressRing}" Visibility="{Binding MessageForProgressRing, TargetNullValue=Collapsed, FallbackValue=Visible}"/>
</StackPanel>
그런 다음, 코드에서 난 그냥 속성을 트리거 뒤에 어떤 버튼 이벤트 핸들러에 값을 할당 : 모든 내 ViewModelBase
(부모에,
private void closeApplicationButtonTask()
{
((CaptureViewModel)DataContext).MessageForProgressRing = "Closing... ";
Application.Current.MainWindow.Close();
}
그러나 내보기 모델) 의 오류 메시지가 표시됩니다.
요청한 값 '마감 중 ...'찾을 수 없습니다.
나는 가시성이 바로 Closing...
에 바인더 제본되어 있기 때문에 내가 변환기를 필요가 있다고 생각? 그렇다면 어떻게 할 수 있습니까?
피. OnPropertyChanged
에서 value
을 할당 할 수 없어 표시 할 수 없습니다. 또한 실행 전, 실행 중, 실행 후 큰 시간이 걸리므로 좋은 생각이라고 생각하지 않습니다.
이것에 대한 연구를 해본 적이 있습니까? 'wpf IValueConverter'에 대한 간단한 google 검색은 [this one] (http://wpftutorial.net/ValueConverters.html)과 같은 예제와 튜토리얼을 많이 제공합니다. –
@Charles 예,하지만 일단 키워드 (IValueConverter?)가 무엇인지 압니다. 고마워요. 내가보고있다. –
내 검색은 지나치게 구체적이었고, 내가 연계 된 튜토리얼은 'wpf converter'의 첫 번째 히트작이다. 너는 그걸 들여다 보지 않았다는 생각으로 나를 용서할 수있을 것이다! –