CommunityToolkit의 ObservablePropertyAttribute와 DisplayNameAttribute

WPF에서 DataGrid를 사용할 때
ColumnHeader를
ItemsSource와 Binding되는
ObservableCollection의 Property에 정의된
DisplayNameAttribute을 사용하고 싶습니다.
Converter를 이용하면 어렵지 않게 될 것 같습니다.

다만, CommunityToolkit의 경우 ObservablePropertyAttribute를 통해 partial class로 적용하려면 property가 아닌 field로 정의를 하다보니 DisplayNameAttribute를 붙였을 때 에러가 발생합니다.

혹시 해결해보신 분이 계실까요?

public partial class TempClass : ObservableObject
{
    public TempClass()
    {
        
    }

    [ObservableProperty]
    [DisplayName("Data")] // <-- 이 부분이 에러(CS0592)
    public bool isCheck;
}
2개의 좋아요

답을 이미 찾으셨을 수 있겠지만…

    [ObservableProperty]
    [property: DisplayName("!")]
    private string _chatMessage = "";

이런 식으로 하면 됩니다. (그런데 버전 몇 부터 되는지는 확인해봐야 해요)

5개의 좋아요

와 되는군요!!!

8.1 버전에서 되는 거 지금 확인했습니다.

정말 감사합니다!!

3개의 좋아요