Загружаем каталог…
Загружаем каталог…
기준 온도 넘으면 숫자가 빨개지고, 경고 문구가 뜨고, 기록 표에서도 그 줄이 빨갛게 칠해진다. 넘었는지는 데이터가 판단 public bool IsOver => Temperature > Threshold; 화면은 이 값만 보고 색을 정한다. 근데 이건 setter가 없어서 혼자서는 바뀌었다고 알릴 수가 없다. 그래서 Temperature 나 Threshold 가 바뀔 때 같이 알려 줘야 한다. OnPropertyChanged(); OnPropertyChanged(nameof(IsOver)); 이거 빼먹으면 값은 넘었는데 화면은 그대로다. Converter IsOver 는 bool인데 글자색은 Brush라서 그냥은 연결이 안 된다. 중간에서 바꿔 주는 게 Converter. public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return value is true ? Brushes.Red : Brushes.Black; } XAML에서는 리소스로 등록해 놓고 이름으로 불러 쓴다. Foreground="{Binding IsOver, Converter={StaticResource OverToBrush}}" 경고 문구 보였다 숨겼다 하는 건 WPF에 기본으로 있는 BooleanToVisibilityConverter 를 썼다. 이건 안 만들어도 됨. 트리거 기록 표의 줄 색은 DataTrigger로 했다. <DataTrigger Binding="{Binding IsOver}" Value="True"> <Setter Property="Background" Value="#FFE5E5" /> </DataTrigger> "이 값이 이거면 이 속성 바꿔"를 XAML에서 바로 쓰는 방식이다. 둘 다 해 보니까 값 하나를 다른 타입으로 바꾸는 건 Converter, 조건에 따라 여러 속성을 바꾸는 건 트리거가 편했다. 과제 1 끝 버튼 이벤트부터 시작해서 센서 이벤트, 바인딩, 목록, 경고까지 왔다. 회사에서 준 과제 1(WPF로 UI 만들고 이벤트 처리)은 이걸로 마무리. 다음부터는 과제 2, MVVM.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[WPF 13일 공부] 6. Converter랑 트리거로 경고 표시하기. 기준 온도 넘으면 숫자가 빨개지고, 경고 문구가 뜨고, 기록 표에서도 그 줄이 빨갛게 칠해진다. 넘었는지는 데이터가 판단 public bool IsOver => Temperature > Threshold; 화면은 이 값만 보고 색을 정한다. 근데 이건 setter가 없어서 혼자서는 바뀌었다고 알릴 수가 없다. 그래서 Temperature 나 Threshold 가 바뀔 때 같이 알려 줘야 한다. OnPropertyChanged(); OnPropertyChanged(nameof(IsOver)); 이거 빼먹으면 값은 넘었는데 화면은 그대로다. Converter IsOver 는 bool인데 글자색은 Brush라서 그냥은 연결이 안 된다.…
Открыть источник