반응형
읽기 전용 종속성 속성을 생성하려면 어떻게 해야 합니까?
읽기 전용 종속성 속성은 어떻게 생성합니까?이를 위한 베스트 프랙티스는 무엇입니까?
특히, 저를 가장 당황하게 하는 것은, 이 모든 것들이 제대로 구현되지 않았다는 사실입니다.
DependencyObject.GetValue()
그 일에는System.Windows.DependencyPropertyKey
파라미터로 지정합니다.
System.Windows.DependencyProperty.RegisterReadOnly
D를 반환하다ependencyPropertyKey
보다 반대하다DependencyProperty
그럼 GetValue에 콜을 할 수 없는 경우 읽기 전용 의존관계 속성에 어떻게 액세스해야 합니까?아니면 어떻게 해서든 이 모든 걸 바꿔서DependencyPropertyKey
평범한 노인으로.DependencyProperty
오브젝트?
조언 및/또는 코드를 알려주시면 감사하겠습니다!
(Register Read Only를 통해) 실제로 간단합니다.
public class OwnerClass : DependencyObject // or DependencyObject inheritor
{
private static readonly DependencyPropertyKey ReadOnlyPropPropertyKey
= DependencyProperty.RegisterReadOnly(
nameof(ReadOnlyProp),
typeof(int), typeof(OwnerClass),
new FrameworkPropertyMetadata(default(int),
FrameworkPropertyMetadataOptions.None));
public static readonly DependencyProperty ReadOnlyPropProperty
= ReadOnlyPropPropertyKey.DependencyProperty;
public int ReadOnlyProp
{
get { return (int)GetValue(ReadOnlyPropProperty); }
protected set { SetValue(ReadOnlyPropPropertyKey, value); }
}
//your other code here ...
}
개인/보호/내부 코드로 값을 설정한 경우에만 키를 사용합니다.보호 대상ReadOnlyProp
세터, 이건 당신에게 투명해요.
현시점에서는 https://github.com/HavenDV/DependencyPropertyGenerator,을 사용하는 것이 좋습니다.코드는 매우 간단합니다.
[DependencyProperty<int>("ReadOnlyProperty", IsReadOnly = true)]
public partial class MyControl : UserControl
{
}
언급URL : https://stackoverflow.com/questions/1122595/how-do-you-create-a-read-only-dependency-property
반응형
'programing' 카테고리의 다른 글
WPF 명령줄 (0) | 2023.04.17 |
---|---|
커밋 메시지 내 GitHub의 이슈 번호 링크 (0) | 2023.04.17 |
Swift에서 목록 항목의 인덱스를 찾는 방법은 무엇입니까? (0) | 2023.04.17 |
vba의 쓰기 문에서 큰따옴표 제거 (0) | 2023.04.17 |
WPF 비트맵 소스 이미지를 파일에 저장하는 방법 (0) | 2023.04.17 |